2012-03-30 2 views

Antwort

27

Mit jQuery können Sie einen Rückruf an das Submit-Ereignis mit der .submit()-Methode binden.

$("form").submit(function(){ 
    // Let's find the input to check 
    var $input = $(this).find("input[name=whatever]"); 
    if (!$input.val()) { 
    // Value is falsey (i.e. null), lets set a new one 
    $input.val("whatever you want"); 
    } 
}); 

Hinweis: Um sicherzustellen, dass alle Elemente gefunden werden kann, sollte sie in einer domready Funktion gesetzt werden.

+0

Können Sie erklären, die Hinweis: Meldung mehr ? Willst du damit sagen, dass du die ganze Sache einpacken musst: $ (document) .ready (function() {YOURCODEHERE}); – tgharold

+0

@tgharold Nein, weil es nicht mit der Frage verbunden ist. Das Ganze erklärt sich ausführlich im bereitgestellten Link. – mekwall

2

Mit Ebene DOM (keine Bibliothek), Ihre HTML etwas aussehen wird:

<form name="foo" action="bar" method="post"> 
    <!-- or method="get" --> 
    <input name="somefield"> 
    <input type="submit" value="Submit"> 
</form> 

Und Ihr Skript wie folgt aussehen:

var form = document.forms.foo; 
if (form && form.elements.something) 
    // I use onsubmit here for brevity. Really, you want to use a 
    // function that uses form.attachEvent or form.addEventListener 
    // based on feature detection. 
    form.onsubmit = function() { 
     // if (form.elements.foo.value.trim()) is preferable but trim() 
     // is not available everywhere. Note that jQuery has $.trim(), 
     // and most general purpose libraries include a trim(s) 
     // function. 
     if (form.elements.something.value.match(/^\s*$/))) 
      form.elements.something.value = 'DEFAULT VALUE'; 
    }; 
Verwandte Themen