2016-09-11 5 views
0

ユーザーが入力フィールドに有効なEメールを入力したときに、ボタンを有効にしたいとします。ここでJavascriptが有効でないボタンを有効にする

は私のコードです:

//validate Mail 
    var testEmail = /^[ ]*([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})[ ]*$/i; 
    jQuery('input#HdC_mail').bind('input propertychange', function() { 
    if (testEmail.test(jQuery(this).val())) 
    { 
     jQuery(this).css({ 'border':'1px solid green'}); 
     $("#vali").text(''); 

     document.getElementById("submit").disabled = false; 

    } else 
    { 
     jQuery(this).css({ 'border':'1px solid red'}); 
     $("#vali").css({ 'color':'red'}); 
     $("#vali").text('Das ist keine gültige Mailadresse'); 
    } 
    }); 

そしてHTML:

<div style="text-align:center;"> 
    <p id="vali"></p> 
    <input type="submit" name="submit" id="submit" disabled="true" value="Absenden"> 
</div> 

テキストが変更されますが、ボタンがまだ無効になっています?私はあなたが私を助けることができると思います

Example

...

+1

なぜそうでないのですが、else節の '#submit'ボタンを変更することはありませんか? – adeneo

+1

@adeneo - なぜそれは重要ですか?それは 'disabled'節をオフにする' if'節です。 – Quentin

+0

あなたは正しいです、私はIDの悪い選択を推測しています、そして入力はフォームの中にあります。 – adeneo

答えて

0

まず、無効属性は偽/ 値を持っていません。あなたは

セカンドをdisabled="disabled"として、あなたのHTMLマークアップでそれを書くか、単にdisabled(最小化のようなあなたの場合とXHTML準拠を気にしない)のいずれか、あなたは交換する必要があります

document.getElementById("submit").disabled = false; 

$("#submit").prop("disabled", false); 
関連する問題