DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JS和jQuery使用submit方法無法提交表單的原因分析及解決辦法
JS和jQuery使用submit方法無法提交表單的原因分析及解決辦法
編輯:關於JavaScript     

昨天,在做一個表單異步提交內容的時候,遇到很奇怪的問題,submit()方法無法進行提交,每次提交都是把 當前給刷新了,網絡抓包發現,每次都是 get方式去獲取 當前頁面,完全沒有post 請求,想著以前 遇上這樣的問題 都是因為 表單中 有 name 或者 id 這些命名跟submit 有沖突,但是檢查了幾次,始終沒有發現 名字沖突,所以這個可能性被排除。

平常自己做觸發按鈕,基本不用a 標簽,但是昨天不知道什麼 問題,竟然用了 a 而且還給了 href 為空,由於這個a 的class 有多個 內容,所以檢查時候根本就沒有去看href 沒有寫內容。所以,每次進行click 操作的時候 都會觸發到 href="" 這個操作,這個操作就重新打開當前頁面,所以導致 submit無法起到作用。解決方法:就是給href 加javascript:;或者javascript:void(0);

問題出現地方:

解決了:


js部分:

補充:js表單提交和submit提交的區別

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
</head>

<body>
<script>

function test()
{
  document.getElementById("myform").submit();  
  alert(11);
}
</script>
<form name="myfrom" id="myform" method="get" action="b.php">
<input type="text" name="pwd" value="" />
<input type="submit" name="sub" value="111" />
<input type="button" name="btn" value="btn" onclick="test()" />
</form>
</body>
</html>

注意:get方式提交表單時 action裡面不能用url傳值, post則可以這樣傳

js提交和submit按鈕提交的區別:

    1. js提交表單時不會帶上 submit 按鈕的值(因為沒有被單擊) 所有浏覽器

    2. input 回車提交 w3c浏覽器會帶上submit按鈕的值,ie6則不會帶

    解決辦法:增加一個hidden域,用這個來判斷,無論用哪種方式提交都會有值

submit按鈕上綁定提交事件:

  即:

復制代碼 代碼如下:
<input type="submit" name="btn" value="btn" onclick="test()" />

    都會帶上submit的值, 用js提交都檢測不到onsubmit狀態

    w3c: 提交一次      

    ie6: 分兩次提交,先js在form提交

    解決辦法:如果按鈕為submit則 檢測時用onsubmit事件檢測

      如果按鈕為button,則檢測通過後在觸發submit事件

      一定不要用js提交表單,然後又用onsubmit去檢測

     單純的用js提交表單, alert, ff下阻塞表單的提交,而其他浏覽

以上所述是小編給大家介紹的JS和jQuery使用submit方法無法提交表單的原因分析及解決辦的相關知識,希望對大家有所幫在,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved