我会尽量让我的问题尽可能简单明了。所以我最近阅读了stackoverflow上的.prop()
vs .attr()
页面,并决定开始使用prop()
而不是attr()
。.prop()返回对象而不是值
HTML
<form action="php/select.php" method="POST" class="ajax">
<fieldset>
<legend>Show</legend>
<div>
<input type="submit" value="Show Servers"/>
</div>
<div id="output"></div>
</fieldset>
<input type="hidden" name="action" value="SHOW_SERVERS"/>
</form>
JQuery的
$(document).ready(function(){
$("form.ajax").on("submit",function(e){
e.preventDefault();
var t=$(this);
var form=t.serialize();
var method=t.prop("method");
var url=t.prop("action");//Before: t.attr("action");
console.log(url);
});
});
这里来的怪异的一部分,当我提交表单,它打印在控制台是这个
我问题是:
为什么JQuery返回一个输入元素而不是表单动作属性的值?
为什么.prop()
获得方法属性的值,而不是action属性
PS:我已经知道了输入有属性name="action"
。
完美答案。恰好解释道。 ^^ – 131