2017-02-06 46 views
0

返回false不工作的形式提交jQuery的

function SaleProduct() { 
 
     var CusId=$('#CusId').val(); 
 
     $.get('customer-id.php?CusId='+CusId, function(data) { 
 
     if(data==0){ 
 
\t \t alert("Customer Id not valid.") 
 
\t \t return false; 
 
\t \t } 
 
     }); 
 
    }
<form action="sales-edit-insert.php" method="post" onSubmit="return SaleProduct()"> 
 
    <input type="text" name="CusId" id="CusId"/> 
 
    <!--Some input field here--> 
 
    <input type="submit" value="Submit"/> 
 
</form>

返回FALSE;或e.preventDefault();当我提交表格时,没有处理上述功能。表格在显示警报后提交。

+1

从正在调用该函数 “SaleProduct” –

+0

<形式行动= “销售 - 编辑 - insert.php” 方法= “邮报” 的onsubmit =“返回SaleProduct( )>> <! - 这里的一些输入字段 - >

+1

您从异步回调中返回false –

回答

1

您的SaleProduct什么也没有返回(实际undefined)。
您可以停止直接形式return false;发送onsubmit属性里面:

<form action="sales-edit-insert.php" method="post" onSubmit="SaleProduct(); return false;"> 

,以后你可以手动提交您的表格:

function SaleProduct() { 
    var form = ...; 
    var CusId=$('#CusId').val(); 
    $.get('customer-id.php?CusId='+CusId, function(data) { 
    if(data==0){ 
     alert("Customer Id not valid.") 
     return; 
    } 
    form.submit(); 
    }); 
    return false; // you can also move this statement to here from attribute 
} 

最简单的方式获取表单元素提供它变成onsubmit

<form action="sales-edit-insert.php" method="post" onSubmit="return checkCustomer(this)"> 

和JS:

function checkCustomer(form) { 
    //code from above 
    return false; 
} 
+0

如果数据!= 0,则应提交表单。但通过使用上面的脚本不提交表格 –

+1

只需手动提交,然后 –

0

你使用jQuery已经何必与onsubmit属性麻烦。尝试

<form action="sales-edit-insert.php" method="post" id="sale-product-form"> 

jQuery(function($) { 
    $('#sale-product-form').on('submit', function(e) { 
    e.preventDefault() 
    var form = this; 
    $.get('customer-id.php', $(form).serialize(), function(data) { 
     if (data == 0) { 
     alert('Customer Id not valid.') 
     } else { 
     form.submit() // submit normally 
     } 
    }) 
    }) 
}) 
+0

如果数据!= 0,则表单应提交。但表格不能通过使用上面的脚本 –

+0

@RajuChowdhury这是你应该包括在你的问题中的重要信息 – Phil

+0

@RajuChowdhury我已经更新了我的答案以正常提交表单 – Phil