2017-01-11 10 views
0

"電子メールの更新にサインアップ"チェックボックスがあり、デフォルトで "はい"の値が選択されています。チェックしない場合は、「いいえ」に設定する必要があります。これは完璧な解決策ではありませんが、フォーム提出時にデータベースに提出する必要がある値です。クリックイベント中のチェックボックスの値がフォームデータで選択されていない場合に変更されました

HTML:

<input name="emailSignUpCheckbox" id="emailSignUpCheckbox" type="checkbox" value="Yes" onclick="updateSignUpCheckbox()">Sign me up! 

Javascriptを:DOMを見て、または値のをロギングすることで、チェックボックスの値を毎回変更されていると私はそれを確認している

var emailSignUpCheckbox = document.getElementById('emailSignUpCheckbox'); 

function updateSignUpCheckbox(){ 
    if(emailSignUpCheckbox.checked) { 
     emailSignUpCheckbox.value = "Yes"; 
    } 
    else { 
     emailSignUpCheckbox.value = "No"; 
    } 
} 
コンソール。チェックされた状態(デフォルト)で提出された場合、「はい」の値がフォームによってデータベースに送信されます。

ただし、手動でチェックを外すと、チェックボックスの値はフォームによってデータベースに送信されませんが、代わりに空白の値が転記されます。

私が間違っている可能性のあることについては、何か提案をいただければ幸いです!

答えて

1

これは、another answerの "on"値だけが提出されることを望みます。一つの解決策は、チェックボックスの値が提出物にない場合、その値が "of"であることを考慮することです。

+1

実際には理にかなっています。代わりに隠しフィールドを使用して値を送信します。ありがとう! – IntricatePixels

+0

隠しフィールドを使用してそのフィールドの値を更新し、そのフィールドを送信するとそのトリックが行われたという簡単な更新です。 – IntricatePixels

関連する問題