Ala*_*tis 3 javascript forms jquery placeholder
我正在尝试使用preventDefault,以便在提交带有"帐号"作为输入值的表单时不会发生任何事情.
对于我所做的所有阅读,我看不出问题.我怀疑我刚刚盯着它看太久而且遗漏了一些非常明显的东西.帮我今天准时离开办公室!
这里的非工作代码示例:http://jsfiddle.net/sX52r/
HTML
<form action="/" id="AccSearch" method="post">
<input type="text" name="AccountNumber" ID="AccountNumber" class="lookup_field" value="Account number" onfocus="if(this.value=='Account number'){this.value=''}"
onblur="if(this.value==''){this.value='Account number'}">
<input type="image" id="AccSearchSubmit" src="/Images/search.png" onmousedown="this.src='/Images/search_down.png'" onmouseup="this.src='/Images/search.png'" onmouseout="this.src='/Images/search.png'" alt="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
JS
$('#AccSearchSubmit').click(function (e) {
if ($('#AccountNumber').val == 'Account number') {
e.preventDefault();
alert("BOING!");
}
});
Run Code Online (Sandbox Code Playgroud)
val 是一个函数,你应该调用它.
if ($('#AccountNumber').val() == 'Account number') {
Run Code Online (Sandbox Code Playgroud)
建议:
相反,捕获表单的提交事件可能是一个更好的主意,因为在文本输入中按Enter键也会提交表单.
您应该使用placeholderHTML5属性(所有现代浏览器都支持它)而不是旧的浏览器,而不是这个"脆弱"的解决方案(使用所有丑陋,突兀的内联事件处理程序),而使用像Mathias Bynens的jquery-placeholder这样的插件.