2017-08-08 60 views
1

在我的代碼中,addDvcPeople()的onclick函數可以正常工作,不需要任何形式。 但是一旦添加表單,addDvcPeople()的onclick函數將失敗。 這裏是沒有形式的代碼工作正常:按鈕的onclick函數不能在form.javascript中工作jquery

<div class="dvcOnShlv" id="dvcOnShlv"> 
<!--<form action="modify_idc_addDVC.php?act=add&table=IDC" method="POST">--> 
    <table border="1px" cellspacing="0" id="staTable"> 
    <tr> 
    <h2 align="center">IDCtable</h2> 
    </tr> 
    <tr> 
    <td style="width:15%" id="addDvcWorker">engineer<br /><input type="button" id="addDvcPeople" onclick="addDvcPeople()" value="addpeople"></td> 
    </tr> 
</table> 
<!--</form>--> 
</div> 

我addDvcPeople()的代碼是:

<script> 
function addDvcPeople() 
{ 
    alert("test"); 
} 
</script> 

一旦 「形式」 一句加入,功能addDvcPeople()什麼也沒做。 我不知道爲什麼。誰能幫助我?

+0

@guradio,沒有窗體,測試對話框會出現,但在形式上,沒有什麼。 – stack

回答

1

,你所擁有的主要問題是,你給你的按鈕相同的ID爲你的函數名。您需要確保它們是不同的,或者你的函數總是通過來作爲undefined

function addDvcPeople() { 
 
    alert("test"); 
 
}
<form> 
 
    <input type="button" id="addDvcPeople" onclick="addDvcPeople()" value="Button"> 
 
</form>

這裏這用不同的ID工作:

function addDvcPeople() { 
 
    alert("test"); 
 
}
<form> 
 
    <input type="button" id="addDvcPeopleID" onclick="addDvcPeople()" value="Button"> 
 
</form>

你會遇到的第二個問題計數器是表單提交有實際提交表單,即使沒有submit輸入,也就是說,當點擊按鈕後,你的表單將消失默認行爲:

function addDvcPeople() { 
 
    alert("test"); 
 
}
<form> 
 
    <button onclick="addDvcPeople()">Button</button> 
 
</form>

要解決這一點,你需要通過event覆蓋默認的形式提交:

function addDvcPeople(event) { 
 
    event.preventDefault(); 
 
    alert("test"); 
 
}
<form> 
 
    <button onclick="addDvcPeople(event)">Button</button> 
 
</form>

請注意,在上面的示例中,頁面不刷新,並且出現警報。

希望這會有所幫助! :)

+0

哇,你是專家。非常感謝你!! – stack

1

你就是不設置重複的ID和函數名

+0

這是正確的 – Chase

+0

@Tran Audi,addDvcWorker和addDvcPeople不同,重複的函數名是關鍵。我改變id =「addDvcPeople」onclick =「addDvcPeoplef()」,然後它工作正常。 Thankyou !! – stack

+0

歡迎您:) –