我没有从名称属性获得价值。我做错了什么?
例如
$(function() {
$("#orderForm").submit(function(e){
e.preventDefault();
var statusName = $(this).attr('input[name="name"]').val();
var statusDesc = $(this).attr('input[name="description"]').val();
alert(statusName);
});
});
HTML代码:
<form id='orderForm'>
<input type="text" name="name">
<textarea name="description"></textarea>
<button type="Submit">Add</button>
</form>
答案 0 :(得分:4)
您正在搜索attribute equals selector
,
$("#orderForm").submit(function(e){
e.preventDefault();
var statusName = $('input[name="name"]', this).val();
var statusDesc = $('textarea[name="description"]', this).val();
alert(statusName);
});
这里我使用了$("selector", context)
版本,所以匹配选择器的元素将在上下文中搜索而不是它。它与$(context).find("selector")
答案 1 :(得分:0)
jQuery attr
函数获取属性的值,而不是文本输入的值。
您应该使用children()
获取orderForm
模块的用户输入值。我用正确的代码准备了Js Bin。
答案 2 :(得分:0)
试试这个,
$(function() {
$("#orderForm").submit(function(e) {
e.preventDefault();
var statusName = $(this).find('input[name="name"]').val();
var statusDesc = $(this).find('*[name="description"]').val();
// or var statusDesc = $(this).find('textarea[name="description"]').val();
alert(statusDesc);
});
});
我建议您在处理表单
时为每个字段分配ID