ページの一部として検証を記述しようとしています。これにより、テキストボックスに必要なテキストが含まれているかどうかを確認し、ボタンがない場合はボタンを無効にします。
私はこれを次のjQueryコードを使用して完全に機能させています:
<script>
$(document).on("ready", function () {
$('input[type="text"]').on('blur', function () {
var $required = $(this).next().val();
var $image = $(this).parent().next().children('img');
var $errors = $('img:visible').length;
if (($(this).val().indexOf($required) == -1) && ($(this).val() != '')) {
$image.show();
$("#submit").prop("disabled", true);
} else {
$image.hide();
//Manually subtract from error otherwise it doesnt subtract until the next focus change
$errors--;
if ($errors == 0)
$("#submit").prop("disabled", false);
}
});
});
</script>
この問題は、テキストボックスに2つの値が必要な場合に発生します。これらは、コンマ区切りの文字列として非表示の入力に格納されます。両方が存在することを確認するにはどうすればよいですか?それらが両方ともそこにある限り、それらは任意の順序でそこにあることができます。.split('、')を使用してそれらを取得し、配列してテストできることはわかっていますが、それが問題になっています。
.inArray()と.each()の両方を使用してみましたが、どこにも到達できません。
フィドルを設定しようとしましたが、機能しませんでした。
これは、MVCプロジェクトとしてのHTMLの縮小版であるため、このほとんどはモデルなどによって入力されています。
HTML
<table width="100%" border="1px solid">
<tr>
<th>Source Text</th>
<th>Translation</th>
</tr>
<tr>
<td>Some text here</td>
<td><input type="Text"><input type="hidden" value="Some"></td>
<td><img id="cross" src="../cross.png" class="jq-cross hid" alt="error" /></td>
</tr>
<tr>
<td>Some text here</td>
<td><input type="Text"><input type="hidden" value="Some,Here"></td>
<td><img id="cross" src="" class="jq-cross hid" alt="error" /></td>
</tr>
<tr><td colspan="3"><button id="submit" type="submit">Update Translations</button> </td></tr>
</table>
あなたが私に与えることができるどんな助けでも最もありがたいです。うまくいけば、私はここで十分な情報を提供しました。
前もって感謝します