このコードは、初回起動時にチェックボックスがオンになっているかどうかを切り替えて、ユーザーの選択に基づいて値を変更する必要がある、購読解除フォーム用です。テキストボックスの値を変更するJavaScript
基本的に私は電子メールプラットフォームを通じてhtmlに値を渡しています。値がIの場合、チェックボックスと値Iがチェックされます。値がOの場合、チェックボックスはチェックされず、値Oがチェックされるべきではありません。
データが電子メールプラットフォーム値を取得するために隠れた入力を使用する必要があります。そうしないと、実際にIまたはOが返されません。
私は頭の中でタグとして持っているのJavaScript(HTMLメール)
var initValue = function() {
var permStat = document.getElementById("emailPref").value
if(permStat === "I"){
document.getElementById("checkbox").checked = true;
} else {
document.getElementById("checkbox").checked = false;
}
}
var changeValue = function(){
var optValue = document.getElementById("checkbox").value;
if(optValue === "I"){
document.getElementById("checkbox").value = "O";
document.getElementById("emailPref").value = "O";
document.getElementById("checkbox").checked = false;
} else {
document.getElementById("checkbox").value = "I";
document.getElementById("emailPref").value = "I";
document.getElementById("checkbox").checked = true;
}
}
スタイルを切り替えるための表示ラベル(使用してCSSのみ)
<input type="checkbox" id="checkbox" name="emailPerm" value="$EMAIL_PERMISSION_STATUS_$" onload="initValue();" onclick="changeValue()">
<label class="toggle" for="checkbox"></label>
隠し入力、私たちの電子メールプラットフォームにデータを戻すもの
<input type="hidden" id="emailPref" name="EMAIL_PERMISSION_STATUS_" value="$EMAIL_PERMISSION_STATUS_$">
追加情報が負荷に
I値と、それはこのとして表示されます(これは "O" の値になります):この状態の後、クリックオン
、値は "O"に設定され、スタイリングは同じままです。第二のクリックで、値が適切に「I」とディスプレイに戻っ:
**これは明らかに間違いがある場合、私は通常、HTMLメールではなく、以来、JavaScriptを使用することはできませんので、私は、事前に謝罪これは技術的にリンク先ページとして表示され、機能します。
ありがとうございます!
サーバーからのデータで隠れた入力を設定している場合、同じデータに応じてチェックされた入力を作成するだけでは簡単ですか? – zfrisch
@zfrischはい、それがinitValue関数の目的です。チェックした値を調整することは、その値を引いて_supposed_を引っ張っていますが、そうではありません –