Javascript 表格未提交 功能优惠券检查计划(){ if(document.getElementById('r5')。选中){ var-ret=false; var息票=$(“#息票”).val(); 如果(优惠券=“”){ ret=假 $(“#er3”).html('不能留空'); } 如果(优惠券!=“”){ $.post(“优惠券检查.php”{ “息票”:息票 },函数(数据){ 如果(data.result==“0”){ ret=假; $(“#er3”).html('此代码已被广泛使用'); } 如果(data.result==“-1”){ ret=假; $(“#er3”).html('此代码无效'); } 如果(data.result==“1”){ $(“#frmsup1”).submit(); } }); } }否则{ } 返回ret; }

Javascript 表格未提交 功能优惠券检查计划(){ if(document.getElementById('r5')。选中){ var-ret=false; var息票=$(“#息票”).val(); 如果(优惠券=“”){ ret=假 $(“#er3”).html('不能留空'); } 如果(优惠券!=“”){ $.post(“优惠券检查.php”{ “息票”:息票 },函数(数据){ 如果(data.result==“0”){ ret=假; $(“#er3”).html('此代码已被广泛使用'); } 如果(data.result==“-1”){ ret=假; $(“#er3”).html('此代码无效'); } 如果(data.result==“1”){ $(“#frmsup1”).submit(); } }); } }否则{ } 返回ret; },javascript,jquery,html,Javascript,Jquery,Html,当我单击提交按钮时,如果单击id为r5的单选按钮,则id为优惠券的单选按钮将发送一个ajax请求,以检查优惠券是否有效,如果ajax结果为1,则它将提交表单,但像循环一样,它发送请求,结果仅为1,但不提交表单。尝试以下操作: function coupon_check_plan() { if (document.getElementById('r5').checked) { var ret = false; var coupon = $("#coupon")

当我单击提交按钮时,如果单击id为r5的单选按钮,则id为优惠券的单选按钮将发送一个ajax请求,以检查优惠券是否有效,如果ajax结果为1,则它将提交表单,但像循环一样,它发送请求,结果仅为1,但不提交表单。

尝试以下操作:

function coupon_check_plan() {
   if (document.getElementById('r5').checked) {
        var ret = false;
        var coupon = $("#coupon").val();
        if (coupon == "") {
            ret = false
            $("#er3").html('<img src="' + img_loc + 'cross.png"/> Cannot be left blank');
        }
        if (coupon != "") {
            $.post("coupon_check.php", {
                    "coupon": coupon
            }, function (data) {
            if (data.result == "0") {
                ret = false;
                $("#er3").html('<img src="' + img_loc + 'cross.png"/> This Code is aready used');
            }
            if (data.result == "-1") {
                ret = false;
                $("#er3").html('<img src="' + img_loc + 'cross.png"/> This Code is invalid');
            }
            if (data.result == "1") {
                $("#frmsup1").submit();
            }
        });
        }
    } else {

    }
    return ret;
}

<form action="sbs_check2.php" method="POST" id="frmsup1" onsubmit="return coupon_check_plan();" >
    <input type="radio" name="package" value="Coupon" id="r5" checked="true" onclick="choose()" />
    <input type="text"  name="coupon" id="coupon" onfocus="document.getElementById('er3').innerHTML='';" placeholder="Enter Coupon Code" style="margin-top:10px;"/>
    <div class="err" id="er3"></div>
    <input type="radio" name="package" value="Free" id="r1" onclick="choose()" />
    <input type="radio" name="package" value="bronze" id="r2" onclick="choose()" />
    <input type="submit" name="submit" value="Register Now" class="submitbut2" id="pur">
</form>
功能优惠券检查计划(){
if(document.getElementById('r5')。选中){
var息票=$(“#息票”).val();
如果(优惠券=“”){
$(“#er3”).html('不能留空');
}
否则{
$.post(“优惠券检查.php”{
“息票”:息票
},函数(数据){
如果(data.result==“0”){
$(“#er3”).html('此代码已被广泛使用');
}
如果(data.result==“-1”){
$(“#er3”).html('此代码无效');
}
如果(data.result==“1”){
$(“#frmsup1”).submit();
}
});
}
}
返回false;
}

还建议使用
开关(data.result)
而不是
if(data.result)

您是否尝试过
警报(data)
查看返回的内容?是的,我尝试过。我相信
onsubmit=“return优惠券检查计划()”
就是您的错误之处<代码>优惠券检查计划()是PHP函数,因此web浏览器无法调用它。此外,我建议使用
$(“form#frmsup1”).submit(function(){//code here})不管有没有提交的论点。@Michał你在说什么<代码>优惠券检查计划是一个Javascript函数。Ajax是异步的,因此不能使用return语句。如果要在onsubmit中执行ajax,则需要始终返回false
function coupon_check_plan() {
   if (document.getElementById('r5').checked) {
        var coupon = $("#coupon").val();
        if (coupon == "") {
            $("#er3").html('<img src="' + img_loc + 'cross.png"/> Cannot be left blank');
        }
        else {
          $.post("coupon_check.php", {
                "coupon": coupon
            }, function (data) {
            if (data.result == "0") {
                $("#er3").html('<img src="' + img_loc + 'cross.png"/> This Code is aready used');
            }
            if (data.result == "-1") {
                $("#er3").html('<img src="' + img_loc + 'cross.png"/> This Code is invalid');
            }
            if (data.result == "1") {
                $("#frmsup1").submit();
            }
          });
        }
    }
    return false;
}