2016-07-25 10 views
0

私はウェブサイトから電子メールのいくつかの配列に電子メールを送信している作業スクリプトを持っています。電子メールからデータを削除しない選択ボックス

問題は次のとおりです。ユーザーが私のスクリプトが警告投げている(PHP配列に[email protected]する値=メール)選択ボックスから値を選択するのを忘れた場合は、「値を選択してください!」ユーザーが書き込んだすべてのデータはすべての選択ボックスから削除されます。

これを避ける方法はありますか?

JS:

function formSubmit() //onclick "Submit" button 
{ 
    var selectedValue = document.getElementById("sendTo").value; 

    if(selectedValue="99") 
    { 
     alert("Choose a value!"); 
    } 
    else 
    { 
     //working ajax script which is sending emails 
    } 
} 

HTML:

<label class="company_emails"> 
    <select id="sendTo"> 
     <option value="99">Choose a department</option> 
     <option value="0">Justice</option> 
     <option value="1">Injustice</option> 
     <option value="2">Potatoes</option> 
     <option value="3">Mushrooms</option> 
    </select>    
</label> 

答えて

1

あなたはエラーが発生した場合に提出を停止する必要があり、そうでない場合はフォームが送信され、再び空になっています。

function formSubmit() { 
    var selectedValue = document.getElementById("sendTo").value; 

    if(selectedValue == "99") { 
     alert("Choose a value!"); 

     // return false will stop the submit 
     return false; 
    } 
} 

しかし、あなたはあまりにもそこにリターンを使用する必要がボタンをonclickでそれを行う場合:

<button type="submit" onclick="return formSubmit();">send</button> 

またはより良いを、あなたはjQueryの利用可能な場合は、単に提出フォーム上のリスナーを登録preventDefaultを使用してください。これが最善の方法です。ユーザー@Carrが言ったように

$("form").on("submit", function(e) { 
    if($("#sendTo").val() == "99") { 
     alert("Choose a value!"); 

     // will stop the submit 
     e.preventDefault(); 
    } 
}); 

そして、あなたはあなたのif文で=を見逃しています。

+0

完璧に機能する仲間は、数分待って答えを受け入れる必要があります。 –

+0

あなたは大歓迎です、@StefanStefko! – eisbehr

+0

あなたのリマインダーをありがとう、私はそれを削除しました – Carr

1

<script type="text/javascript"> 
    function formSubmit() //onclick "Submit" button 
{ 
    var selectedValue = document.getElementById("sendTo").value; 

    if(selectedValue="99") 
    { 
     alert("Choose a value!"); 
     return false; 
    } 
    else 
    { 
     //working ajax script which is sending emails 
    } 
} 
</script> 

JavaScriptコードとは、以下のように、ボタンの復帰キーワードのクリックメソッドを持っている必要があります。

<input type="submit" value="submit" onclick="return formSubmit()"/> 
関連する問題