2017-04-05 58 views
2

Basicly我有這樣的功能:使得提交按鈕執行的功能

function testLength(){ 
    var input1 = document.getElementById("input1").value 
    var input2 = document.getElementById("input2").value 

    alert("test") 
    if (input1.length < 2 && input2.lenght < 2){ 
     alert("Please enter more then one symbol"); 
     return false 
    } 
} 

和intputs:

<input type="text" name="input1" id="input1"> 
<input type="text" name="input2" id="input1"> 
<input type="submit" onclick="testLength();" value="press me"> 

的想法是,如果輸入爲1個字符長,不允許提交不過雖然即使我的輸入是1個字符長,它似乎並沒有進入if語句(我認爲)應該停止提交按鈕。任何想法爲什麼?

回答

0

你應該看的東西像<form onsubmit="return testLength()">

如果函數返回false,則不會提交該函數。

+0

好吧,所以我設法停止提交按鈕做它的事情。我仍然無法使if語句順利通過,出於某種原因,無論我輸入什麼內容,它都會返回false(條件):S – Konulv

+0

您使用的是什麼代碼?在你的問題的代碼中有一個錯字:長度而不是長度 – kecalace

+0

\ * facepalm *所以它只是歸結於我不能正確拼寫。現在它工作得很好。謝謝<3 – Konulv

0

使用onsubmit事件:

<form onsubmit="return testLength();"> 
    <input type="text" name="input1"> 
    <input type="text" name="input2"> 
    <input type="submit" value="press me"> 
</form> 

欲瞭解更多信息,請閱讀:How to prevent form from being submitted?

0

假設您的輸入和提交按鈕位於<form>元素內,表單的默認行爲(即實際提交)將會發生什麼。您可能想要爲表單的submit事件添加一個事件偵聽器,並在其中進行驗證。

HTML

<form id="my-form"> 
    <input type="text" name="input1"> 
    <input type="text" name="input2"> 
    <input type="submit" value="press me"> 
</form> 

的Javascript

var form = document.getElementById('my-form'); 
form.onsubmit = function() { 
    var input1 = document.getElementById("input1").value 
    var input2 = document.getElementById("input2").value 

    alert("test") 
    if (input1.length < 2 && input2.lenght < 2){ 
     alert("Please enter more then one symbol"); 
     return false 
    } 
} 
0

除此之外的onsubmit,您還可以使用事件監聽。

如:

document.querySelector('').addEventListener('click', testLength); 

HTML

<form id="my-form"> 
    <input type="text" name="input1"> 
    <input type="text" name="input2"> 
    <input type="submit" id="submit" value="press me"> 
</form> 

JAVASCRIPT

document.getElementById('submit').addEventListener('click', testLength); 
    function testLength(){ 
    var input1 = document.getElementById("input1").value 
    var input2 = document.getElementById("input2").value 

    alert("test") 
    if (input1.length < 2 && input2.lenght < 2){ 
     alert("Please enter more then one symbol"); 
     return false 
    } 
} 

事件監聽器不僅可以querySelector和的getElementById,但任何目標來使用您定義見文檔上的here