2013-02-23 49 views
-1

我坚持在这里已经提出了同样的问题:避免刷新的形式在HTML5

Stop a HTML5 form posting, refreshing or opening a new window onSubmit

我目前使用

event.preventDefault(); 
// to avoid refreshing of form 

示例代码我试图为如下所示:

我的html页面包含以下代码段:

<form id="sampForm"> 
    First name: <input type="text" name="fname" required><br> 
    Age: <input type="number" required><br> 
    <input type="submit" onclick="OnSub(event)"> 
</form> 

我的js代码如下:

OnSub= function (_event) { 
    try { 
     _event.preventDefault(); 
    //do my process logic below or run any code here 

    } catch (e) { 

    } 

}; 

但是这会导致表单验证停止工作。

预先感谢任何帮助在这里

+1

我不明白你为什么在你的HTML代码中有一个'value =“OnSub(event)”',我看不到你如何将你的函数绑定到你的表单。 – 2013-02-23 13:45:58

+0

更新了代码其不值=它的onClick – Malcolm 2013-02-23 13:54:31

回答

1

表单有一个“onsubmit”事件。绑定你的功能。

<form id="sampForm" onsubmit="OnSub(event)"> 
    First name: <input type="text" name="fname" required><br> 
    Age: <input type="number" required><br> 
    <input type="submit"> 
</form> 
+0

其中一个和我一样提供我的按钮类型作为提交 – Malcolm 2013-02-23 13:59:04

+1

它不一样。你绑定到一个按钮上的点击,但想绑定到表单提交。这不仅仅是细节上的差异。有人可以用键盘按下按钮或触摸它。两者都不会触发你的“onclick”。 – 2013-02-23 14:04:22

+0

+1谢谢他们认为他们是一样的。感谢您的回复和帮助 – Malcolm 2013-02-23 14:08:30

-1

我觉得你正在使用形式的方法提交给那么验证元素 在你的方法结束只需要添加

return false; 

这将停止表单提交。