你说:
我希望这个功能可以用 php 来完成,而不是用 javascript。
不幸的是,如果您想要“实时”,那么您将需要 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。