2011-09-06 50 views
0

我正在HTML中實現一個表單,並檢查窗體的onSubmit事件上的空文本框。在我的Java腳本代碼中,我返回false,但表單仍然提交併重定向到新的url。 這段代碼出了什麼問題?在驗證空文本框時發生onSubmit錯誤

function checkBlank(form) 
{ 
    var returnvar=true; 
    if(form.driver.value=="") 
    { 
     alert("You can't left text box Driver as blank.. "); 
     driver.focus(); 
     returnvar=false; 
    }  
    return returnvar 
} 


<form name="form1" action="/Assignment6/DataBaseServlet" onSubmit="return checkBlank(form1);" method="post"> 
+4

'returnvar'或'returnval'? –

回答

2

你改變了你的變量名

returnvar 
returnval 

和的onsubmit線

return checkBlank(form1); 

應該使用this而不是form1

return checkBlank(this); 

而且driver未定義。

driver.focus(); 

應該與form

form.driver.focus(); 
+0

沒有這種類型的變量returnval.itis輸入錯誤。它是returnvar。 –

0

引用您的整個功能可以是:

function checkBlank(form) { 
    return form.driver.value == ""; 
} 

如果你不需要的消息。或者:

function checkBlank(form) { 
    if (!form.driver.value) { 
    alert("Please enter a value in the driver field"); 
    return false; 
    } 
} 

但是,您可能希望稍微更健壯的驗證,因爲這將允許一個或多個空格的字符串。

0

嗨,因爲行動標籤。 我只是改變我的代碼,這工作正常。 enter code here

function checkBlank(form) 
    { 
var returnval=true; 
form.action="/Assignment_8/"; 
if(form.driver.value=="") 
    { 
    alert("You can't left text box Driver as blank "); 

    driver.focus();  
    returnval= false; 
    } 
if(form.url.value=="") 
{ 
alert("You can't left text box url as blank "); 
form.url.focus(); 
returnval= false; 
} 
if(form.username.value=="") 
{ 
alert("You can't left text box username as blank "); 
form.username.focus(); 
returnval= false; 
} 
if(form.password.value=="") 
{ 
alert("You can't left text box password as blank "); 
form.password.focus(); 
returnval= false; 
} 
if(form.query.value=="") 
{ 
alert("You can't left text box query as blank "); 
form.query.focus(); 
returnval= false; 
} 
if(returnval){ 
    form.action="/Assignment_8/database.jsp"; 
    } 
    return true; 
} 
//and form tag is.. 
    <form name=form1 method="post" onsubmit="return checkBlank(form1)">