Hola.

On 12/06/2007, at 12:09, carlos campderrós wrote:

> On 6/12/07, David Arango <[EMAIL PROTECTED]> wrote:
>>
>> On 6/12/07, carlos campderrós  
>> <[EMAIL PROTECTED]> wrote:
>>> Con javascript. Pensaba que a lo mejor había alguna variable que lo
>> dijera o
>>> alguna cosa similar, pero tras un par de horas anoche no encontré  
>>> nada.
>>> Sabéis de alguna?
>>
>> Puedes probar simplemente a utilizar un flag que se dispare en el  
>> onclick:
>>
>> <input type="submit" name="anyade" onclick="accion='anyade'">
>> <input type="submit" name="modifica" onclick="accion='modifica'">
>>
>> ... y en el js:
>>
>> function comprueba() {
>> if (accion == 'anyade') {
>> }
>> else {
>> }
>> }


Una variante sin tocar el HTML:

function getSubmits(form) {
        var ret = [];
        var el = form.elements;
        for (var i = 0; i < el.length; i++)
                if (el[i].type == "submit")
                        ret.push(el[i]);
        return ret;
}


var form = [ recupera el form ];
var submits = getSubmits(form);
for (var i = 0; i < submits.length; i++) {
        submits[i].onclick = function() { this.form.clicked = this; };
}

Traducido al cristiano viejo: añadimos manejadores para clic a los  
botones de submit. Sabiendo que cada control de un formulario tiene  
una propiedad form que apunta al formulario que lo contiene, podemos  
añadir a este una referencia al botón que hemos activado.

Así pues, en el manejador de submit podrías averiguar de qué manera  
ha comenzado la petición.

Salud.


> Sí, eso ya lo vi ayer y no me gustó mucho, pero supongo que es la  
> única
> manera.
>
> De todas formas supongo que un formulario con dos submits que hacen
>> cosas diferentes no está muy bien planteado.
>>
>
> Eso es algo que me he planteado muchas veces, pero la verdad, no se me
> ocurre como hacer algunas cosas, por ejemplo en la ficha de un  
> producto
> donde están sus datos y podemos modificar los datos del producto o
> eliminarlo. La única manera que se me ocurre es que el botón de  
> eliminar sea
> un enlace a otra pàgina que contenga el submit de eliminar, y me  
> parece algo
> excesivo (quizás en este ejemplo no, para eliminar algo hay que  
> estar muy
> seguro y cuantos más pasos y advertencias haya en medio mejor, así  
> se evitan
> accidentes, pero en otros casos con acciones no tan drásticas como  
> eliminar
> sí me parece excesivo).
>
> -- 
> Si no puedes deslumbrar con tu sabiduría,
> desconcierta con tus gilipolleces

-- 
Choan Gálvez
<[EMAIL PROTECTED]>
<http://choangalvez.nom.es/>



_______________________________________________
javaEScript mailing list
javaEScript@scriptia.net
http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net

Responder a