簡體   English   中英

Javascript onsubmit導致頁面刷新

[英]Javascript onsubmit causing page to refresh

真的很簡單

<form id="addDonor" name="addDonor" onsubmit="addDonor(); return false;" action="" method="post" enctype="multipart/form-data">
<div class="sectionHeader">Add New Donor</div>
<div class="formRow"><label>Name</label> <input class="inputText fullTextBar" type="text" name="userName">
<div class="formRow"><button style="margin-left:350px; width: 80px" type="button" class="publish">Add Donor</button></div>
</form>

和addDonor功能

<script type="text/javascript">

function addDonor(){    
    alert("test");
    return false;
}
</script>

最終該函數將包含一些jquery ajax來提交信息。 但是,寶貝,步驟。 現在我甚至無法收到警報。 此外,當我在鍵盤上按“Enter”時,整個頁面刷新,當我按“添加捐贈者”時沒有任何反應。

我敢肯定它必須是一個簡單的問題。 我認為這是我需要別人指出的那些事情之一。

嘗試在javascript中分配onsubmit事件:

document.getElementById("addDonor").onsubmit = function () {
    alert("test");
    return false;
}

問題是你的函數名為addDonor,你的元素是addDonor。 每個具有id的元素都有一個在document下創建的對象來標識它。 alert(addDonor)聯onsubmit中嘗試alert(addDonor) ,看它是否警告HTML元素,而不是函數。 內聯函數在文檔中的作用域鏈中執行,因此addDonor在到達window.addDonor(您的函數)之前指向document.addDonor。

你應該將你的<button>更改為<input type="submit"> (如@ fireshadow52建議的那樣)來解決你的問題。 您應該嘗試使用Wc3 Schools在線javascript測試程序 ,在將其放入頁面或您喜歡的任何其他頁面之前嘗試簡單的javascripts。 谷歌有這樣的東西。 此外,您通常可以在各自的瀏覽器上試用javascript控制台。

您的按鈕顯式設置為type="button" ,這不會使其提交表單。 如果您願意,可<button type="submit">其更改為<button type="submit"><input type="submit"> (我喜歡<button>我自己的樣式選項)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM