0

jQueryで検証する基本的なHTMLフォームを取得しました。

これは次の形式です。

<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>

これは私の検証コードです:

$("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();
            }

        });

理解できない文字は無視してください。それは私の言語です。

ご覧のとおり、フォームが送信されないようにしました。セレクター「フォーム」を使用する必要がありました。そうでなければ、何らかの理由で機能しません>_<。そのため、セレクター「フォーム」を使用してみましたが、うまくいきました。

最後の IF 条件でわかるように、変数「エラー」が空の場合にフォームを送信したいのですが、フォームが送信されません。フォームを送信する方法を知りたい:-)

前もって感謝します!

4

2 に答える 2

2

e.preventDefault(e);(これはちょうどである必要がありますe.preventDefault();)送信が行われないようにします。条件付きでそれを行う必要があります:

if (error) {
    e.preventDefault();
} else {
    // No need to prevent the submit
}
于 2013-08-07T22:52:44.220 に答える