2014-02-11 42 views
-1

我把html5驗證在我的網頁。找到提交函數返回錯誤或不在html5

<form class="" id="myForm" method="post" action="#" > 
<input type="text" required /> 
<input type="submit" /> </form> 
<div> <input type="button" id="myButton" /></div> 

我加驗證了我的jquery.I形式發揮了作用這樣

$("#myButton").click(function(){ 
    $("#myForm").click(); 
//myNewfunction 
}); 

所以字段驗證properly.But問題myNewfunction執行時的形式發射誤差也。如何防止that.If形式是不正確的myNewfunction不應同時執行我的驗證應該同時工作

感謝

+0

爲什麼你在窗體上點擊事件,爲什麼你不使用提交事件? – pwolaq

+0

我有我的點擊按鈕的形式。原因是我隱藏我的提交按鈕,並觸發外部。 – user2587222

回答

0

使用HTML5 checkValidity FORM的方法,例如:

$("#myButton").click(function(){ 
    if(!$("#myForm")[0].checkValidity()) return; 

    $("#myForm").submit(); 
    // or call: myNewfunction(); 
}); 

BTW ,不要觸發點擊FORM的事件默認不做任何事情,而是提交表格。

+0

checkValidity方法的目的是檢查所需的字段,所以它必須像這裏一樣工作:http://jsfiddle.net/sr5Fu/ –

+0

請點擊按鈕..驗證不起作用 – user2587222

+0

好吧,我明白了什麼你的意思是,然後只是觸發提交點擊:http://jsfiddle.net/sr5Fu/1/'$(「#myForm」)。find(':submit')。click();' –

0

你的道:

$("#myForm").submit(function(){ 
    if(validatemyform()){// form succesfully validated 
     $("#myForm").submit(); // submit manually (not needed), it does it anyway when not returning false 
    } else { 
     return false; //don't submit form 
    } 
}); 

驗證表單的清潔器例如:

$("#myForm").submit(function(event) { 
    return validatemyform(); 
}); 

你的驗證函數:

function validatemyform(){ 
    ... 
    return true; //when validated 
    ... 
    return false; // when not 
}