2017-09-03 4 views
1

ユーザーがHTMLの送信ボタンをクリックすると、フォームを送信する前に入力値を指定してJavaScript確認を求める必要があります。Javascriptを使用してPHPでフォームを送信する前に、入力値の確認を求める方法を教えてください。

function ask() { 
 
    var phone = document.getElementById("phone").value; 
 
    var amount = document.getElementById("amount").value; 
 
    return confirm('Are you sure you want to send ' + amount + ' to ' + phone + '?'); 
 
}
<form method="post" action="submit.php"> 
 
    <input type="text" name="phone" id="phone" value="9999999999" /> 
 
    <input type="text" name="amount" id="amount" value="1000" /> 
 
    <input type="submit" onclick="ask()" value="Send" /> 
 
</form>

ユーザーが送信ボタンをクリックすると、それが尋ねるjavascriptの確認ダイアログが表示されるはずです「あなたは9999999999 1000を送信してもよろしいですか?」ユーザーが確認ダイアログボックスの「OK」ボタンをクリックすると、フォームが送信されます。

しかし、ユーザーが送信ボタンをクリックすると、確認を求めずに直接フォームを送信します。

助けてください!

+0

、これを実行するためのコードです'documentgetElementById'の' .'で始まります。あなたはまたあなたの機能から何も返さない。 – j08691

+0

@ j08691 \t 私はそれを修正しました。しかし、依然として、送信ボタンをクリックすると、確認を求めずに直接フォームを送信します –

+0

フォームにサブミットイベントリスナーを追加するだけで、私の答えを確認します –

答えて

0

機能ask()ので、確認のブール値を返しますdoesntの:ここで

function ask() { 
 
    var phone = document.getElementById("phone").value; 
 
    var amount = document.getElementById("amount").value; 
 
    return confirm('Are you sure you want to send ' + amount + ' to ' + phone + '?'); 
 
}
<form method="post" action="submit.php"> 
 
    <input type="text" name="phone" id="phone" value="9999999999" /> 
 
    <input type="text" name="amount" id="amount" value="1000" /> 
 
    <input type="submit" onclick="return ask()" value="Send" /> 
 
</form>

+0

私はそれを修正しました。しかし、依然として、送信ボタンをクリックすると、確認を求めずに直接フォームを送信します。 –

+0

@AmlanDuttaは、あなたがonclickステートメントから 'return'を削除したためです。 –

0

は、あなたが不足している

document.getElementById("submitForm").onsubmit = function(e) { 
 
    e.preventDefault(); 
 
    var phone = document.getElementById("phone").value; 
 
    var amount = document.getElementById("amount").value; 
 
    if(confirm('Are you sure you want to send ' + amount + ' to ' + phone + '?')) 
 
    \t { \t 
 
    \t \t document.getElementById("submitForm").onsubmit = null; 
 
    \t document.getElementById("submitForm").submit(); 
 
\t } 
 
}
<form id="submitForm" method="post" action="submit.php"> 
 
    <input type="text" name="phone" id="phone" value="9999999999" /> 
 
    <input type="text" name="amount" id="amount" value="1000" /> 
 
    <input type="submit" value="Send" /> 
 
</form>

+0

私はそれを修正しました。しかし、依然として、送信ボタンをクリックすると、確認を求めずにフォームが直接送信されます。 –

+0

しかし、ここではスニペットを実行しても完全に動作します。 in documentgetElementById –

+0

私の場合は、マークされた答えが働いただけです!とにかくありがとうございました。あなたも私を助けようとしました:-) –

関連する問題