2016-05-27 42 views
2

通常我:如何使用javascript函數提交表單id?

onclick="myFunction()" 

我的提交按鈕,但我想現在要做的HTML是什麼

<form id="myForm"> 
<input type="text" id="myTextBox" required> <!-- we're gonna use this id: myTextBox because we're using the getElementById() --> 
<input type="submit" value="Click Me"> <!-- we call the function here --> 
</form> 

上JS

document.getElementById("myForm").onsubmit = validateBarForm; 
    function validateBarForm() { 

     var myValue = document.getElementById('myTextBox').value; // inside the getElementById, which element we want to get? 
     if (myValue.length === 0) { 
      alert('Please enter a real value in the TextBox'); 
      return; 
     } 

,但它不工作?我怎樣才能過濾空白或空白不使用要求?

+1

你是什麼意思 「它不工作」 嗎?你看到警報了嗎?你檢查過「myValue」的值嗎?你在控制檯中看到任何錯誤嗎?即使價值無效,它是否提交表格? –

+0

「*但它不起作用?*」通過至少爲人們提供正確的*什麼不起作用*來加快流程。我無法想象生活中的許多事例,只要說明*它不起作用就可以逃脫*沒有立即回覆「*呃,什麼不起作用?」 – Marcus

+0

我的意思是函數validateBarForm()是不工作。 –

回答

0
document.getElementById("myForm").onsubmit = validateBarForm; 
function validateBarForm() { 

    var myValue = document.getElementById('myTextBox').value; // inside the getElementById, which element we want to get? 
    if (myValue.toString().trim().length === 0) { 
     alert('Please enter a real value in the TextBox'); 
     return false; 
    } 

編輯1 我很抱歉,我沒有解釋。我正在解釋這個變化。 我只是修剪輸入的字符串值,以便刪除任何空格。此後,我們可以安全地檢查輸入數據的長度爲0.另外,如果發出警報,即警報後輸入不正確,我們應該返回false以便表單不提交。

在內聯函數調用的情況下,如onclick =「validateBarForm();」它應該正確地與return語句一起使用,如onclick =「return validateBarForm();」這樣如果函數返回false,那麼不會觸發表單提交操作。

+3

請解釋你改變了什麼,爲什麼它是必要的,不要只是沒有解釋轉儲代碼。 – Barmar

+0

我想把表單id =「myForm」的funnction,它不適合我。我可以做到這一點,如果我把它放在按鈕上,只是想知道,也許動作=「」? –

0

使用此代碼:

<form id="myForm" action="#"> 
<input type="text" id="myTextBox" required> 
<input type="submit" value="Click Me" onclick="validateBarForm()"> 
</form> 
    <script> 
    function validateBarForm() { 
     var myvalue = document.getElementById("myTextBox").value; 
     if(myvalue.length === 0){ 
      alert("Please enter a real value in the TextBox"); 
      return false; 
     } 
     else 
      return true; 
    } 
    </script> 

或者使用下面的代碼:

<form id="myForm" action="#"> 
<input type="text" id="myTextBox" required oninvalid="alert('Please enter a real value in the TextBox')"> 
<input type="submit" value="Click Me"> 
</form>