-1

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

4

1 回答 1

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。尽管这意味着您不能依靠它来解决您的问题,但它提供了浏览器生成的一些不错的效果。

于 2013-08-03T14:34:11.403 回答