2016-03-10 45 views
0

我有特殊的HTML設置看起來像這樣一般提交javascript函數表

<table class="table"> 
<form action="" name="f_form" id="id_f_form" method="POST"> 
    <input type="hidden" name="f1" value="555"> 
    <tr onClick="javascript: submitform();">Block</tr> 
</form> 
</table> 

凡javascript函數submitform()看起來像這樣

function submitform() { 
    if (confirm("Do you want to proceed?")){ 
     document.f_form.submit(); 
    } 
} 

我要的是一個普通的JavaScript函數的作品與每一種形式,而不是隻有這種形式的名稱=「f_form」。我真的不想爲每一種形式寫一個java函數:P。

回答

1

這將使用jQuery,因爲它更容易綁定多個元素上的事件。

$("form").on('submit',function(){ 
    if(confirm("Do you want to proceed?")){ 
     $(this)[0].submit(); 
    }else{ 
     return false; 
    } 
}); 
+0

這樣的使用不,如果你的使用jQuery忘記它可以很方便了'(函數($){$(函數(){/ * code here * /}})(jQuery)'wrapper來確保它不會破壞任何東西/ jQuery是以兼容模式加載的。 –

0

那麼對於初學者排序你的HTML是無效的HTML

你用有效所需的HTML,身體,頭部和DOCTYPE代碼

<!DOCTYPE html> 
<html> 
<head> 
<title>test</title> 
</head> 
<body> 
<table class="table"> 
<form action="" name="f_form" id="id_f_form" method="POST"> 
    <input type="hidden" name="f1" value="555"> 
    <tr onClick="javascript: submitform();">Block</tr> 
</form> 
</table> 
</body> 
</html> 

https://validator.w3.org/#validate_by_input

所以用它它應該是有效的代碼

<!DOCTYPE html> 
<html> 
<head> 
<title>test</title> 
</head> 
<body> 
<form name="f_form" id="id_f_form" method="POST"> 
<table class="table"> 
    <tr onClick="submitform(this);"><td><input type="hidden" name="f1" value="555" />Block</td></tr> 
</table> 
</form> 
</body> 
</html> 

至於與有效的HTML腳本,你讓使用jQuery

function submitform(e){ 
    if (confirm("Do you want to proceed?")){ 
     jQuery(e).parent('form').submit(); 
    } 
} 
+0

嘗試過,但沒有得到它的工作。請注意,我希望可點擊區域僅對於非整個表格的區域有效。 – user5095266

+0

我不知道爲什麼這是行不通的。我已經在jsFiddle中測試過它會出現jQuery文檔對於'.parent([selector])是錯誤的' –

+0

由於您的可點擊區域整個表格是1個單元格,所以它將全部是可點擊的,但是如果我們要另一行在上面那行不會是可點擊的。 –