2016-10-27 4 views
0

イムに応じて:送信ボタンは、私は$ _POSTから取得する情報から、PHPで簡単なエラーチェックを実行押された後Javascriptのコードを次のようになりますウェブショップでフォームを実行しているphpvariable

<form> 
    <input type="number" name="quantity" value="" required = "required" /> 
    <input type="radio" name="homeDelivery" value="" required = "required" checked="true" /> 
    <input type="radio" name="homeDelivery" value="" required = "required" /> 
    <input type="submit" value="buy" name="submitBuy" class="buy formConfirm" /> 
</form> 

。エラーチェックでエラーが見つかった場合は$ errorsという配列がありますが、それ以外の場合は配列が空のままであれば、フォームはデータを送信します。

しかし、実際のフォームにエラーがない場合にのみ、私はsubmitを押した後にJSのconfirmboxをポップアップしたいと思います。だから私の実際の質問に: 私の$ errors変数が空の場合、JavaScriptコードをチェックすることは可能ですか?このように動作します何か:それは、この(私はあなたのアイデアを得ると思います)のようなものを見て、私のjavascriptのコードのようなイド可能である場合

if(empty($errors)) { 
    //run code 
} 

$('.buyConfirm').on('click', function(){ 
    if (errors == NULL) { 
     return confirm('Are you sure?'); 
    } 
    else { 
     return false; 
    } 
}); 

すべてのヘルプは高く評価され、

乾杯!

+1

で最もクリーン/最も簡単な方法は、JavaScriptでフォームの検証を行うことであろうことを消費します。 –

答えて

2

あなたは最高json_encodeを使用して、出力にJSの配列としてPHPのVARを必要として、あなたの状態

<script> 
    var errors = <?php echo json_encode($errors); ?>; 
    if (errors.length < 1) { 
     if (confirm("Are you sure?")) { 
      // User has no errors and has confirmed 
     } else { 
      // User has no errors but did not confirm 
     } 
    } else { 
     // User has errors 
    } 
</script> 
+0

これは、検証が行われずにフォームが投稿され、サーバーで検証され、ページが返されたときに検証が失敗したことを再度示すために購入ボタンをクリックする必要があります。これには、クライアント側の検証(理想的には両方)が必要です。 – Archer

+0

これは問題ではありませんでした。問題は、JavaScript変数でPHP変数を使用する方法でした。 –

+0

正直なところ、OPの質問に答えると思いますか? – Archer

関連する問題