2010-07-06 26 views

Respuesta

10

Debido al caso de uso, podría acercarse a ella de manera diferente. En lugar de en realidad desactivando los botones, simplemente no permitiría que la acción de envío funcione hasta que se cargue la página. Esto no requiere ningún cambio en el código HTML existente para el trabajo, y sus páginas no será inútil cuando está desactivado JS:

<script> 
    // Keep all submit buttons from working 
    $('input:submit').live('click', function() { 
     return false; 
    }); 

    // After everything loads, remove the restriction 
    $(window).load(function(){ 
     $('input:submit').die(); 
    }); 
</script> 

actualización: ¿Ha olvidado mencionar que poner tanto esto como la etiqueta script para cargar la biblioteca jQuery en su <head> si desea que esta solución funcione. (Gracias por recordarme Mike Sherov).

+3

Sin embargo, esto aún depende de la carga de jquery antes de que la página se represente por completo. –

+0

Si jQuery está en su * se * cargará antes de que se muestre la página. De hecho, el renderizado de páginas se detendrá mientras se carga. –

+0

Bueno, entonces, si jQuery está en la cabeza, entonces el resto del ejercicio es inútil. :) –

5

Por defecto, usted tiene su presentar botones tienen el atributo de discapacitados establecido en true:

<input type="submit" disabled="disabled" /> 

Entonces, una vez que se carga la página, que puede hacer:

$('input').removeAttr('disabled'); 
+3

En realidad está deshabilitado = "deshabilitado" – Marko

+0

su código hará lo contrario al deseo OP. Habilitará el elemento .. – Kai

+0

Editó la respuesta para mostrar disabled = "disabled" - es una buena respuesta. – thomasrutter

1
<input id="form-submit" type="submit" disabled="disabled" value="Submit" /> 

$(document).ready(function() { 
    $("#form-submit").removeAttr('disabled'); 
}); 
2

jQuery

$(document).ready(function(){ 
    $(":button,:submit").removeAttr("disabled"); 
}); 

HTML

<input type="button" id="button1" value="Button 1" disabled="disabled"> 
<input type="button" id="button2" value="Button 2" disabled="disabled"> 
<input type="button" id="button3" value="Button 3" disabled="disabled"> 
<input type="submit" id="submit" value="Submit" disabled="disabled"> 
0

no has podido hacer algo así como

window.onsubmit=function(){return false;} 
window.onload=function(){window.onsubmit='';} 

No estoy seguro de cómo el burbujeo caso funcionaría con un onsubmit. Tendría que probarlo. Además, no sé jquery, así que no estoy seguro de cómo integrarlo.

Cuestiones relacionadas