文本框为空时发出警报并阻止提交按钮

时间:2013-08-03 14:12:17

标签: php textbox alert

好的,所以我一直在研究一些小的HTML和PHP,我希望在单击提交按钮后实际发生一个特定的事件,因为文本框是空的。我已经查找了大量的javascript代码,并且所有这些代码都无效(或者我可能没有足够的工作来处理它们并使它们工作)而且我甚至不知道javascript是否只是解决方案。我真的不擅长javascript而且我不知道是否有其他方法可以解决这个问题。如果用户将文本框留空,我希望用户在单击提交按钮后收到警报,并阻止按钮提交并从表单输入操作,以便用户在输入php代码之前输入他们的输入。我已经读过这两个实际上不能一起去,php和javascript这种警报和预防以及所有这些,如果有的话,会有其他方法来解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

Javascript可以帮助你, 最有可能你想要这样的HTML部分:

<form onSubmit="return validate(this);" ...>
     <input type="text" id="usefulId"></input>
     <input type="submit"/>
</form>

对于javascript,一切都取决于你想要实现的目标,但我使用的是这样的东西:

function validate(theForm)
{
    var valid = true
    var textbox = document.getElementById("usefulId");

    if (textbox.value) {
         textbox.setAttribute("class", "valid");
    } else {
         textbox.setAttribute("class", "invalid");
         valid = false;
    }
    return valid;
}

如果你然后添加一些css来为文本框上的颜色加上红色或类似的东西,应通知用户。 一些好的做法当然是将真正的验证移动到另一个被调用的函数,因此您可以重用它。如果你想以某种方式提供一些关于它为什么出错的信息,你可以写一些代码填写标签,......

HTML5还有一些可以帮到你的东西:所需的属性(这里写的是为了符合xhtml)

<form onSubmit="return validate(this);" ...>
     <input type="text" id="usefulId" required="required"></input>
     <input type="submit"/>
</form>

但是,这仅适用于支持html5(http://caniuse.com/#feat=form-validation)的浏览器,因此如果找到正确的页面和其他一些浏览器(版本),则不支持IE6-9。 即使这意味着您无法依赖它来解决您的问题,但它会为浏览器生成一些不错的效果。