あなたは言う:
この機能は、おそらく JavaScript ではなく、php で実現したいと考えています。
残念ながら、「リアルタイム」が必要な場合は、JavaScript が必要になります。PHP コードに対して AJAX 呼び出しを行い、検証を確認するために必要になります。
したがって、A) 「リアルタイム」でまったく検証しないか、B) 何らかの形で JavaScript を使用します。
B) を選択して JavaScript を使用し、空の文字列または空白をチェックするだけでよいと仮定すると、このクライアント側のすべてを JavaScript で実行でき、サーバー呼び出しもまったく必要ありません。真に「リアルタイム」にします。
そこで、サーバー呼び出しに依存せずに JavaScript (jQuery) を使用する私のソリューションを次に示します。これは現在の実装には適していないかもしれませんが、そうである場合に備えて、これは役立つかもしれません。
JSFiddle:
http://jsfiddle.net/VKfrw/1/
JavaScript:
function hasWhiteSpaceOrEmpty(s)
{
return s == "" || s.indexOf(' ') >= 0;
}
function validateInput()
{
var inputVal = $("#myInput").val();
if(hasWhiteSpaceOrEmpty(inputVal))
{
//This has whitespace or is empty, disable the button
$("#add").attr("disabled", "disabled");
}
else
{
//not empty or whitespace
$("#add").removeAttr("disabled");
}
}
$(document).ready(function() {
$("#myInput").keyup(validateInput);
});
HTML:
<!-- give this guy an ID -->
<input id="myInput" name="item" type="text" size="25" autofocus="autofocus" />
この実装ではjQueryを使用します。