Javascript 停止提交表格
所以,我有一个表格,即Javascript 停止提交表格,javascript,jquery,forms,submit,Javascript,Jquery,Forms,Submit,所以,我有一个表格,即 <form method="post" action="url" blah blah blah"> <input type="text" name="dollars" id="dollars"> <input type="text" name="cents" id="cents"> <input id="checkout" type="submit"> </form> 工作演示 e.preventDe
<form method="post" action="url" blah blah blah">
<input type="text" name="dollars" id="dollars">
<input type="text" name="cents" id="cents">
<input id="checkout" type="submit">
</form>
工作演示
e.preventDefault()代码>-
e.preventDefault()代码>api将帮助您防止默认行为,您可以加入yopur期望的行为
希望这能满足您的需求:)
代码
$('#checkout').click(function (e) {
e.preventDefault();
//set variables
var dollars = $('#dollars').val();
var cents = $('#cents').val();
if (dollars < 5 || cents < 5) {
alert("You can't do that.");
return false;
}
});
$(“#签出”)。单击(函数(e){
e、 预防默认值();
//设置变量
var美元=$(“#美元”).val();
var cents=$('#cents').val();
如果(美元<5 | |美分<5){
警惕(“你不能那样做。”);
返回false;
}
});
html缺少一些结束标记
<form action="post">
<input type="text" name="dollars" id="dollars" />
<input type="text" name="cents" id="cents" />
<input id="checkout" type="submit" />
</form>
您也可以这样做,因为有些人建议将“提交”按钮保持原样
$("form_reference").submit(function(){
// return result depending on your condition
// true or false
return false;
});
如果用户未满足条件,则可以将属性禁用
添加到签出
。
不要监听单击事件,而是监听事件(在表单上)。这样,您的return false
就承担了取消表单提交的双重职责。但为了进一步消除您的疑虑,您还可以在触发处理程序时对事件进行处理
另外,由于#美元
和#美分
指的是文本框,因此返回字符串。在比较之前,使用
$(函数(){
$('form')。提交(函数(e){
var美元=$(“#美元”).val();
var cents=$('#cents').val();
//转换为整数,但默认为0
美元=(美元?parseInt(美元,10):0);
美分=(美分?帕塞因特(美分,10):0);
如果(美元<5 | |美分<5){
e、 预防默认值();
警惕(“你不能那样做。”);
返回false;
}
});
});
工作正常,您可以从演示中看到,在您单击“警报”窗口上的“确定”后,表单不会被提交,但我宁愿在表单上使用提交事件,传递事件对象,并使用事件.preventDefault()
$(文档).ready(函数(){
$('#checkout')。最近('form')。在('submit',函数(e)上{
//设置变量
var美元=$(“#美元”).val();
var cents=$('#cents').val();
如果(美元<5 | |美分<5){
e、 预防默认值();
警惕(“你不能那样做。”);
}
});
});
我想你确实想写@user3558931。编辑。。。谢谢还请注意,对于您的
,“post”是方法,而您的url(您的link.php)是操作。e、 g.
$("form_reference").submit(function(){
// return result depending on your condition
// true or false
return false;
});
$(function () {
$('form').submit(function (e) {
var dollars = $('#dollars').val();
var cents = $('#cents').val();
// convert to ints, but default to 0
dollars = (dollars ? parseInt(dollars, 10) : 0);
cents = (cents ? parseInt(cents, 10) : 0);
if (dollars < 5 || cents < 5) {
e.preventDefault();
alert("You can't do that.");
return false;
}
});
});
<form method="post">
<input type="text" name="dollars" id="dollars">
<input type="text" name="cents" id="cents">
<input id="checkout" type="submit">
</form>
$(document).ready(function () {
$('#checkout').closest('form').on('submit',function (e) {
//set variables
var dollars = $('#dollars').val();
var cents = $('#cents').val();
if (dollars < 5 || cents < 5) {
e.preventDefault();
alert("You can't do that.");
}
});
});