Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jquery中提交表单之前检查条件_Javascript_Php_Jquery_Forms - Fatal编程技术网

Javascript 在jquery中提交表单之前检查条件

Javascript 在jquery中提交表单之前检查条件,javascript,php,jquery,forms,Javascript,Php,Jquery,Forms,我提交的frm基本上是采购发票。在提交表单之前,我希望执行检查,确保用户在文本框中输入的金额不超过账单总额。例如,如果账单总额为300,而在“已付金额”文本框中用户意外输入3000,则应显示错误消息,以下是我的代码: $("#mainform").submit(function() { var total = $("#gtotal").val(); var paid = $("#paid").val(); alert(paid); alert(total); if(paid > tota

我提交的frm基本上是采购发票。在提交表单之前,我希望执行检查,确保用户在文本框中输入的金额不超过账单总额。例如,如果账单总额为300,而在“已付金额”文本框中用户意外输入3000,则应显示错误消息,以下是我的代码:

$("#mainform").submit(function() {
var total = $("#gtotal").val();
var paid  = $("#paid").val();
alert(paid);
alert(total);
if(paid > total)
{ 

alert("Amount can't be greater than total");

return false;
}
return true;

});
当我提醒paid和total amount时,它们显示正确的值,但如果条件有时不起作用,它会提交表单如果条件不满足有时我甚至不满足条件尝试一下,它可能会起作用:

var total = parseInt($("#gtotal").val());
var paid  = parseInt($("#paid").val());
试试这个,它可能会起作用:

var total = parseInt($("#gtotal").val());
var paid  = parseInt($("#paid").val());
.val()返回字符串

使用分析浮动将已付和总计转换为浮动,使用isNaN检查它们,然后进行比较。像这样:

paid = parseFloat(paid);
total = parseFloat(total);
if (!isNaN(paid) && !isNaN(total)) {
    if (paid > total) {
       ...
如果不使用小数,可以使用parseInt

.val()返回字符串

使用分析浮动将已付和总计转换为浮动,使用isNaN检查它们,然后进行比较。像这样:

paid = parseFloat(paid);
total = parseFloat(total);
if (!isNaN(paid) && !isNaN(total)) {
    if (paid > total) {
       ...

如果您不使用小数,您可以使用parseInt

在submit函数中添加一个参数,并调用preventDefault方法以避免表单被提交

.submit(function(event) {
   ...
if (paid > total) {
   ...
   event.preventDefault();
}

在submit函数中添加一个参数,并调用preventDefault方法以避免表单被提交

.submit(function(event) {
   ...
if (paid > total) {
   ...
   event.preventDefault();
}

遗漏了一些条件:

  • 空输入字段
  • 不是数字
要将字符串转换为数字,可以在字符串前面加上加号

解决办法可以是:

$(“#mainform”)。关于('submit',函数(e){
var total=+$(“#gtotal”).val();
已支付的var=+$(“#已支付”).val();
如果($(“#gtotal”).val().trim().length==0)| isNaN(总计)){
console.log(“请指定总数”);
$(“#gtotal”).focus();
e、 预防默认值();
//
//停止函数执行。。。。
//
返回;
}
如果($(“#已支付”).val().trim().length==0)| isNaN(已支付)){
console.log(“请指定已付款”);
美元(“#支付”).focus();
e、 预防默认值();
//
//停止函数执行。。。。
//
返回;
}
如果(已支付>总计){
console.log(“金额不能大于总额”);
//
//阻止提交操作
//
re.preventDefault();
}
});

G总计:
支付:

遗漏了一些条件:

  • 空输入字段
  • 不是数字
要将字符串转换为数字,可以在字符串前面加上加号

解决办法可以是:

$(“#mainform”)。关于('submit',函数(e){
var total=+$(“#gtotal”).val();
已支付的var=+$(“#已支付”).val();
如果($(“#gtotal”).val().trim().length==0)| isNaN(总计)){
console.log(“请指定总数”);
$(“#gtotal”).focus();
e、 预防默认值();
//
//停止函数执行。。。。
//
返回;
}
如果($(“#已支付”).val().trim().length==0)| isNaN(已支付)){
console.log(“请指定已付款”);
美元(“#支付”).focus();
e、 预防默认值();
//
//停止函数执行。。。。
//
返回;
}
如果(已支付>总计){
console.log(“金额不能大于总额”);
//
//阻止提交操作
//
re.preventDefault();
}
});

G总计:
支付:

您的输入是否仅接受数字?当“支付”大于“总计”时,您不想立即提交?请尝试使用
parseInt
parseFloat
以数字格式解析变量“总计”和“支付”
您的输入是否仅接受数字?当“支付”大于“总计”时,您不想提交吗?请尝试使用
parseInt
parseFloat