如何在jQuery中获取`form.field.value`
How to get `form.field.value` in jQuery?
在javascript中,我可以在提交时验证表单,如下所示:-
<form action="" method="post" onsubmit="return validate(this)">
<input type="text" name="uName" id="uName" />
<input type="password" name="passKey" id="passKey" />
<input type="submit" name="loginBtn" value="login" />
</form>
<script type="text/javascript">
function validate(loginForm){
if(loginForm.uName.value == ''){
alert('Please Enter Username');
loginForm.uName.focus();
}else if(loginForm.passKey.value == ''){
alert('Please Enter Password');
loginForm.passKey.focus();
}else {
return true;
}
}
</script>
我尝试了以下jQuery代码
<form action="" method="post">
<input type="text" name="uName" id="uName" />
<input type="password" name="passKey" id="passKey" />
<input type="submit" name="loginBtn" value="login" />
</form>
<script type="text/javascript">
$('form').submit(function(loginForm){
if(loginForm.uName.val() == ''){
alert('Please enter username');
loginForm.uName.focus();
}else if(loginForm.passKey.val() == ''){
alert('Please enter username');
loginForm.passKey.focus();
}else {
return true;
}
return false;
});
</script>
但对我不起作用…请帮帮我。。。!
这样?
$('#submit').click(function(){
if( $('#uName').val() == ''){
alert('empty');
}
});
http://jsfiddle.net/TTmYk/
提交表单中有一个打字错误,你可能需要修复
请参阅表单字段jQuery插件:https://github.com/webarthur/jquery-fields
您可以按如下方式使用插件:
var form = $('form#id_form').fields();
form.name.val('Arthur');
form.age.hide();
form.description.css('height', 200);
或者这样:
var form = $('form#id_form').fieldValues();
form.name('Arthur');
form.age(29);
form.description('Web developer.');
var name = form.name();
提交回调函数中的参数不是元素,而是事件。因此,在回调中,this
表示form元素,因此您可以只执行this.uName.value
,也可以避免使用id。所以
$('form').submit(function(e){
if(this.uName.value == ''){
alert('Please enter username');
this.uName.focus();
}else if(this.passKey.value == ''){
alert('Please enter username');
this.passKey.focus();
}else {
return true;
}
return false;
});
Fiddle
另外,val()
是jquery方法,在纯javascript中,您将使用value
,在这种情况下,这应该足够了。
这将帮助您:
jQuery(function($) {
var $username = $('#uName'),
$password = $('#passKey');
$('form').submit(function() {
if ($username.val() == '') {
alert('Please enter username');
$username.focus();
} else if($password.val() == '') {
alert('Please enter username');
$password.focus();
} else {
return true;
}
return false;
});
});
你需要记住的几点:
- 如果您要使用DOM,您应该将代码封装在
jQuery(function() { ... });
块中 - 如果要使用jQuery访问DOM元素,则需要在使用
$(...)
之前选择
相关文章:
- Dojo:访问dijit.form.Select中单击的项目
- Javascript form innerHTML
- 无法在有条件呈现的富:面板上提交h:form
- Javascript form.submit()方法是如何工作的
- 通过jQueryAjax一起发布Array和Form数据时出现问题
- This.Form.Submit() on CakePHP
- 带有Request.Form的JScript数组
- jQuery函数无法处理Form Submit
- 使用application/x-www-form-urlencoded使用node.js在post请求中发送数组
- Javascript:获取“;FORM”;它是在.html到外部.js文件中创建的
- 如何停止向上滚动<按钮dojoType=“;dijit.form.Button”;type=“;提交”/>在
- Angular Form Wide验证(不特定于字段)
- 当在coldfusion中通过AJAX传递时,FORM提交在IE浏览器中给出空表单
- 如果我通过 getEditor 从 Ext.form.field.Date 收到值,如何以正确的格式保存值
- Ext.form.field.Picker for rowEditing
- 如何在jQuery中获取`form.field.value`
- Ext.form.field.Time作为Date Time值提交
- ExtJS form.field.date如果输入无效的MM或DD,则重新计算日期.如何预防
- 当用户在ext .form.field. htmlitor中键入文本时,捕获Ctrl+Enter
- Comparison form.fieldName.value vs $('#field').val()