2016-11-02 12 views
0

プロジェクトの場合、データベースを使用しています。ユーザーはエントリを作成できるはずですが、エントリを作成/編集する前に、特定の事項を確認する必要があります。.valは、ChromeのIEとは異なる値を返します

私がしたいのは、フォームの入力フィールドが空であるか、9文字かどうかをチェックすることです。私は、次のコードでこれをやった:これはChromeで動作しますが、何らかの理由(私は見ていないこと/理解)のために、これがない

<td> 
    <input type="text" name="ihcnummer"   id="ihcnummer" value="" class="form-control" placeholder="e.g. SP1234567"> 
</td>  

$('#submit').on('click', function(event) { 
    var formData = new FormData($('#ref')[0]); 

    if ($("#ihcnummer").val() != '' && $("#ihcnummer").attr('value').length != 9) { 
     $('#alert').html('<span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> IFS projectnumber should either be left blank, or be equal to the 9 character standard!').slideDown(10); 
     $("#ihcnummer").css('border', '1px solid red'); 
     return; 
    } 
}); 

それは、次の分野に関するIEで動作します。例: SP1234567、Chromeはこれを受け入れてデータベースを更新しますが、IEはアラートを表示してデータベースを更新しません。 このフィールドに別の値を入力してください(例: SP1234警告が返されます。

私は.val()と、.attr('value')を試しました。

IEとChromeの違いは何ですか?そして、両方のブラウザでどのように動作するか確認するにはどうすればよいですか?

あなたが私を助けてくれることを願っています。

+0

plain jsを使用してください。document.getElementById( "ihcnummer")。値 – nivendha

答えて

0

問題領域は、あなたが取得しているとvalueが、それは常にあなたが使用

$("#ihcnummer").val().length 

代わりの

''

として設定した空の文字列を取得します属性、.attr('value')の使い方です

$("#ihcnummer").attr('value').length 
+0

返事をありがとう! しかし、あなたが今提案している解決策は、私が最初に使った解決策です。 別のアイデアはありますか? – chori

関連する問題