请查看代码
First Name: <input type="text" name="fname" id="fname" >
<p id='p1'></p>
Last Name: <input type="text" name="lname" id="fname" >
<input type="submit" name="submit" value="Submit" onclick="return validate_form();" >
function validate_form()
{
if ( document.form.fname.value == "" )
{
$('#p1').val("Please fill in fname");
return false;
}
}
我创建了一个表单,其中有两个文本框(fname,lname)。现在假设我保持textbox1空置然后我按Tab键继续下一个文本框。当我移动到第二个文本框时,在textbox1的右侧应该显示一条错误消息(plz fill fname box)
Plz检查coading并更正它..我的代码没有在这里显示prohowrly ..如何复制 - 粘贴代码在这里,以便它可以正常显示..我是新的所以PLZ ...
答案 0 :(得分:2)
您希望触发的事件称为“模糊”,可以像这样连接起来:
<input type="text" name="fname" id="fname" onblur="javascript:validate_form();" />
或者在jQuery中:
$(function() {
$('#fname').blur(validate_form);
});
现在,'validate_form'功能将挂钩到fname字段的“模糊”操作。
要在StackOverflow上发布代码,请突出显示问题和答案的代码部分,然后单击标有“101010”的按钮将其作为代码阻止。
另见theraccoonbear关于使用.html()而不是.val()的评论。
编辑:添加了jQuery版本并为选民保留了旧的输入。
答案 1 :(得分:0)
Cryo提到你想要onblur事件,但我认为你还需要修改设置错误消息的代码,以便在jQuery中使用html()而不是val()方法。 e.g。
$('#p1').html("Please fill in fname");
答案 2 :(得分:0)
onclick =“return validate_form();” &GT;
不要在submit-onclick上放置表单验证码。它属于form-onsubmit。这样就可以保证代码将被调用,但表单已提交。
if(document.form.fname.value ==“”)
您在该控件上有id
,也可以使用document.getElementById('fname')
,或者,因为您似乎使用了jQuery $('#fname').val()
。其中任何一个都是明确的,直接从document
和form
对象访问输入可能不是。
$('#p1')。val(“请填写fname”);
val()
用于表单字段而非文本内容。你想要.text('message')
。