0

次の JavaScript は、送信前に「required_email」と「verify_email」の 2 つの入力「name」値を比較することによって機能します。問題は、「名前」が実際には「required-email」と「verify-email」であることです。JavaScript の名前ではダッシュがサポートされていないようです。明らかに最も簡単な解決策は、アンダースコアを使用するかスペースを使用しないことですが、サーバー側のフォーム処理がダッシュを使用する特定の「名前」を探すため、これは不可能です。

2 つの入力のそれぞれに ID を追加できるので、次の JavaScript を変更して #input1 と #input2 を比較する方法を知る必要があります (つまり、名前の値ではなく ID を使用します)。

function checkEmail(theForm) {
    if (theForm.required_email.value != theForm.verify_email.value)
    {
        alert('Your emails don\'t match.');
        return false;
    } else {
        return true;
    }
}

PS。これはプレーンな JavaScript で行う必要があります (jQuery や他のフレームワークではありません)。

4

3 に答える 3

1
function checkEmail(theForm) {
    if (document.getElementById("required-email").value != document.getElementById("verify-email").value)
    {
        alert('Your emails don\'t match.');
        return false;
    } else {
        return true;
    }
}
于 2012-05-07T16:32:40.360 に答える
0

それらに両方のIDを与えると、その単純なものになります。

var required = document.getElementById('required_email').value;
var verified = document.getElementById('verify_email').value;
if(required != verified){
  alert('emails do not match');
  return false;
}else{
  return true;
}
于 2012-05-07T16:35:04.577 に答える
0

この状況では、他の属性アクセス構文を使用できます。

if (theForm["required-email"].value != theForm["verify-email"].value)
于 2012-05-07T16:31:41.360 に答える