Dos botones en un formulario

Deri
22 de Agosto del 2003
Estoy realizando una tienda virtal con carrito de la compra. Me gustaría poner en el carrito dos botones. Uno de ellos finalice la compra, y el otro actualice el carrito (te recalcule los precios según el número de productos que hayas puesto). ¿Alguien tiene alguna pista de como hacer esto? ¿Algún código parecido a ver si me centro? Gracias

zulu
22 de Agosto del 2003
Supongo que no te vale crear dos formularios aparte (uno para cada botón que envíe a una página asp distinta, dependiendo de la opción que quieras realizar), pero podrías hacerlo mediante javascript. Creas los dos botones del formulario como tipo button
(<input type="button" name="comprar" onclick="Comprar()"> e <input type="button" name="actualizar" onclick="Actualizar()">)

las funciones serían más o menos así (para orientar, ya que no sé si el código será correcto al 100%)

function Comprar()
{
formulario.action = "Comprar.asp"
// esta es la asp que gestiona la compra
formulario.submit
// al hacer esto es como si pulsases a un botón de tipo submit de un formulario con action Comprar.asp
}

para Actualizar() sería igual pero cambiando los datos oportunos


Si realmente sólo tienes esos dos botones y ninguno más, también puedes elegir por crear dos formularios con actions distintas
<FORM NAME="comprar" ACTION="Comprar.asp">
<input type="submit" name="comprar" value="comprar">
</FORM>
<FORM NAME="actualizar" ACTION="Actualizar.asp">
<input type="submit" name="actualizar" value="actualizar">
</FORM>

De paso pregunto yo una cosilla (así, en general)... supuestamente, cuando pulsas el botón submit, debería enviar los datos que pertenecen al formulario en el que se encuentra el submit... aunque en una ocasión, con múltiples formularios, al pulsar el submit y recoger los datos en una asp obtuve como resultado todos los campos del formulario... ¿estoy equivocado y lo debí ver mal? ¿explorer lo envía así, al tuntun, y otros navegadores sólo envían el formulario del que se pulsó el botón? ¿o realmente se envían todos los datos, independientemente del submit que pulses? es que, si es esto último (que, a mi entender, no debería) siempre bastaría conque sigas el segundo consejo (el de crear dos formularios)