2011-12-05 39 views
-1

我試圖驗證表單,以確保用戶向文本框中輸入值。下面是我的javascript:使用Javascript功能進行表單驗證

var formValidation = function(a) { 
    if (document.getElementById(a).value == "") { 
     alert('Please fill out the ' + a + ' field'); 
     return false; 
    } 
    else { 
     return true; 
    } 
}  

而這裏的形式:

<div id="cultdiv"> 
    <form action="add.php" method="POST"> 
     <span><input type="hidden" name="id" id="cultid"/> 
     <input type="text" onSubmit ="formValidation('culture')" name="name" id="culture"/> 
     <input type="hidden" name="type" value="culture" /> 
     <input type="submit" value="add/update" /></span> 
    </form> 
</div> 

出於某種原因,它沒有被阻止提交表單或給予警告消息。

回答

5

您忘記了return從您的內聯處理程序。
另外,<input> s沒有onsubmit事件;你可能打算把它放在<form>

+0

內嵌處理器?那是什麼意思? –

+0

@AndrewAlexander:'onsubmit =「...」中的代碼' – SLaks

+0

我該怎麼做? –

2

slaks意味着沿着這些線條。

<script> 
var formValidation = function() { 
    if (document.getElementById('culture').value == "") { 
     alert('Please fill out the culture field'); 
     return false; 
    } 
    else { 
     return true; 
    } 
} 

<div id="cultdiv"> 
    <form action="add.php" method="POST" onsubmit="return formValidation(this)"> 
     <span><input type="hidden" name="id" id="cultid"/> 
     <input type="text" name="name" id="culture"/> 
     <input type="hidden" name="type" value="culture" /> 
     <input type="submit" value="add/update" /></span> 
    </form> 
</div> 
+0

您可以通過示例查看並學習如何完成某些事情,例如javascriptkit.com,dynamicdrive.com – david