首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery表单提交不是提交表单

jQuery表单提交不是提交表单
EN

Stack Overflow用户
提问于 2013-08-07 22:48:24
回答 2查看 59关注 0票数 0

我得到了一个基本的HTML表单,并通过jQuery进行了验证,

以下是表格:

代码语言:javascript
复制
<form method="post" action="index.php" enctype="multipart/form-data" id="add_product">
    מק"ט:
    <input type="text" name = "product_cn" value="<?php echo $product_cn;?>" id="cn"/> <span style="margin-right: 20px; color:red; display:none" id="cn_exist"></span>
    <br /> <br />
    שם המוצר:
    <input type="text" name="product_name" value="<?php echo $product_name;?>" id="p_name"/>
    <br /> <br />
    פרטי המוצר:
    <textarea rows = "6" cols = "30" name="product_details"  id="p_details"> <?php echo $product_details;?></textarea>
    <br /> <br />
    מחיר:
    <input type="text" name = "product_price" value="<?php echo $product_price;?>" id="p_price"/>
    <br /> <br />

    תמונה:
    <input type="file" name="fileField" id="p_image" />
    <br /> <br />

    <input type="submit" name="submit" value="רשום מוצר"  />
</form>

这是我的验证代码:

代码语言:javascript
复制
$("form").submit(function(e){
            e.preventDefault(e);
            var p_cn = $("#cn").val();
            var p_name = $("#p_name").val();
            var p_details = $("#p_details").val();
            var p_price = $("#p_price").val();
            var p_image = $("#p_image").val();

            error = "";
            if(!(p_cn != "") || !(p_cn.length > 0)){
                error += " אנא הוסף הוסף מק\"ט <br /> <br />" ;
            }
            if(!(p_name != "") || !(p_name.length > 0)){
                error += "אנא הזן שם מוצר <br /> <br />";
            }

            if(!(p_price != "") || !(p_name.length > 0)){
                error += " אנא הזמן מחיר. <br /> <br />";
            }


            if(error != ""){
                $("#form_errors").html(error).hide().slideDown(500);
            }else{
                $("#form_errors").slideUp(500);
                $("#add_product").submit();
            }

        });

请忽略任何你不懂的字符,这是我的语言。

正如您所看到的,我所做的是阻止表单被提交,我不得不使用选择器“表单”,否则,它只是因为某种原因而不能工作>_<。因此,我尝试使用选择器"form“,它起了作用。

现在,正如您在最后一个IF条件中所看到的,如果变量"error“是空的,但是表单不提交,我希望提交表单。我想知道如何提交表格:-)

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-07 22:54:38

e.preventDefault()的目的是停止元素的默认操作。在form.submit()中,它阻止表单被提交。

这是一个详细的解释

将preventDefault()移动到这里:

代码语言:javascript
复制
if(error != ""){
    $("#form_errors").html(error).hide().slideDown(500);
    e.preventDefault(); //do NOT want it to submit if there are errors
}else{
    $("#form_errors").slideUp(500);
    $("#add_product").submit();
}
票数 1
EN

Stack Overflow用户

发布于 2013-08-07 22:52:44

e.preventDefault(e); (应该是e.preventDefault();)阻止提交发生。你需要有条件地这样做:

代码语言:javascript
复制
if (error) {
    e.preventDefault();
} else {
    // No need to prevent the submit
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18115102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档