我會盡量讓我的問題儘可能簡單明瞭。所以我最近閱讀了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