8

私は次のフォームを持っています:

 <form action="http://www.tahara.es/contact/subscribe.php" method="post" id="subscribe" name="subscribe">
      <input type="hidden" name="action" value="subscribe">
      <label>NAME:</label>
      <input type="text" name="name" class="Textbox" id="sub_first_name">
      <label>EMAIL:</label>
      <input type="text" name="email" class="Textbox" id="sub_email">
      <input type="submit" name="button" id="button" value="Subscribe" />

submitフォームの両方のフィールドが入力されるまで、ボタンをグレー表示にしたいと思います。私はjqueryがうまくいくと思いますか?

これを行うにはどうすればよいですか? また、スクリプトはどこに配置すればよいですか?

4

3 に答える 3

7

Jqueryはそれを行います。.keyupイベントで、jqueryに両方のフィールドの長さが0より大きいかどうかをチェックさせ、ボタンを無効にするかどうかを変更します。

$('#yourButton').button("disable");​​​​​​​​​​​​​

$('.fields').bind('keyup', function() { 
var nameLength = $("#sub_first_name").length;
var emailLength = $("#sub_email").length;

if (nameLength > 0 && emailLength > 0)
{
   $('#yourButton').button("enable");​​​​​​​​​​​​​
}

} );
于 2013-01-30T22:14:52.320 に答える
0

スクリプトは<head></head>ドキュメントの . そのようです。

<script type="text/javascript" src="yourpath"></script>

1 つの方法は、入力の値を一致させ、値がまだデフォルトと同じでない場合は、グレー表示されたクラスをボタンから削除することです。これがデモです。

HTML

<input type="text" value="some text" class="text-input">
<input attr="" type="submit" value="submit" class="submit">

CSS

.disabled {opacity:.2;}

jQuery

if ($('.text-input').val() == "some text" ) {
    $('.submit').addClass('disabled');    
}

http://jsfiddle.net/APGmy/11/

于 2013-01-30T22:20:11.587 に答える
0

あなたがJavaScriptの初心者なら、より良い選択肢は

次のようにHTMLを追加します。

<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post">
   First name: <input type="text" name="fname">
   <input type="submit" value="Submit">
</form>

として追加validateForm()します

function validateForm() {
   // Validate all fields in the form
   return true; // if all form entries are valid. else return false
}

注:これにより、送信ボタンがグレーアウトされることはありません。ただし、この場合、送信はすべてのエントリが有効な場合にのみ機能します。

于 2013-01-30T22:25:34.257 に答える