我想解決一個問題,當用戶點擊提交按鈕時,我需要從父窗體中獲取action="/uri/"
。如果我使用$(form).live('submit')
它只能工作一半時間。所以我正在使用$('input[type=""]').live('click')
。不過,正如你在下面的代碼中看到的那樣,我試圖抓住action屬性並且它不能識別它,或者我似乎無法抓住它的.attr('action')
。如何從jQuery中最接近的形式獲取屬性動作?
<script>
var get_pages_load_options = {
target: '#content',
beforeSubmit: showRequest,
success: showResponse
};
$('input[type="submit"]').live('click',function(event){
var url = $(this).closest("form").attr('action');
var named = $(this).closest("form").attr('id')
console.debug(url+"/"+named);
$("#"+named).ajaxForm(get_pages_load_options);
$.ajax({
type: "POST",
url: url,
data: {ajaxtype: "side"},
success: function(data) {
$("#sidebar_menu").html(data);
}
});
event.preventDefault();
return false;
});
</script>
,我試圖使用的HTML看起來像這樣(爲可讀性起見移除了PHP):
<tr>
<td class="bold" colspan="2">
<form id='defcon_form' name='defcon_form' action='/cityhall/' method='post'>
<div class="left">
Realm Hoarding
<select name='defcon_rate'>
<option value='0'>None</option>
<option value='10'>Low</option>
<option value='20'>Medium</option>
<option value='30'>High</option>
<option value='50'>Critical</option>
</select><br />
<font size='-4'>(Stashes Gold/Turn, Decreases Defense)</font>
</div><div class="right">
<input type='submit' name='defcon' value='Update Hoarding!' />
</div>
</form>
</td>
</tr>
我知道HTML是不是最好的,我需要回去修改一下。
您無法嵌套'form'元素 – xandercoded
您確定您的提交按鈕位於表單標籤內且表單標籤具有操作屬性嗎? 'console.log($(this).closest(「form」)。get())' –
改變了措辭,以確保它更清晰。 – OpensaurusRex