2011-12-12 120 views
0

當用戶點擊提交時,我打開了一個新頁面。用戶回到原始頁面從下拉列表中選擇其他內容並需要再次「提交」將是一種常見現象。現在問題是我的js函數禁用了提交按鈕,用戶將不得不重新加載頁面。 JS的是一個標準的東西,所以很遺憾,我不能改變這種狀況,但我想知道如果有辦法重新啓用它的HTML或單獨的腳本的方式,這是我的相關代碼:提交後啓用提交按鈕

<form name="verification_form" action="CreateVerification" target="_blank" onSubmit="return submitForm(this, 0, this.length-2, SUBMIT)" method="post"> 
<table width="75%" border="0" cellspacing="0" align="center"> 
    <tr> 
    <tr> 
     <td>Stuff<input type="HIDDEN"></td> 
    </tr> 
    <tr> 
     <td>&nbsp;</td> 
    </tr> 
    <tr> 
     <td width="33%"> 
      <div align="center"> 
       <select name="stuff" id="stuff" class="R"> 
        <option value=" "> </option> 
        <option value="<% =stuff %>"> <% =stuff %> </option> 
       </select> 
     <td><div class="submit"> 
      <input type="submit" name="SUBMIT" value="SUBMIT"> 
     </div></td> 
    </tr> 
</table> 

任何幫助將不勝感激,並讓我知道是否有任何問題。

+0

您可以更改onSubmit處理程序嗎?如果是這樣,你可以1)有ajax調用做實際的表單提交,2)重新啓用ajax調用的完整處理程序中的提交按鈕,3)從替換onSubmit處理程序返回false,所以默認提交行爲不會發送形成第二次。 – dgvid

回答

0

檢查您提交按鈕被禁用。在這種情況下啓用它。

使用jQuery,這將是做法:

if($("#submit-button").is(":disabled")) { 
    $("#submit-button").removeAttr("disabled"); 
} 

希望它可以幫助

+0

不知道這是做什麼,我跑了.....沒有變化。我正在試驗這個jquery腳本,但我不能讓它工作:* $('#submit-button')。click(function(){('#submit-button')。attr('enabled' ,'true'); }); * – Dan

+0

哦,上帝,我在想你刪除了按鈕... JavaScript代碼的變化。忘記最後的答案,我正在更新它! –

0

你可以把一個按鈕的地方(在原始頁面或彈出),說:「選擇另一項目」,並運行一些JavaScript來重新啓用按鈕:

var submitButton = ... (find the submit button) 
submitButton.enabled=true 
+0

感謝您的幫助,但我想盡量避免將其他內容放在頁面上。 – Dan

+0

然後,您可以在彈出窗口中添加此腳本。使用「opener」變量作爲根:opener.getElementById(...)然後重新啓用它。 –

1

您可以使用jQuery這樣刪除禁用選項:

$("input[type=submit]").removeAttr("disabled"); 

的問題是什麼時候在你的代碼中你想啓用提交按鈕。您可能需要將其連接到下拉列表中的onchange事件。

$('#dropdownlist').change(function(){ 
     //Validate your form here maybe: 

     if(validated) $("input[type=submit]").removeAttr("disabled");        
    }); 
+0

可能會這樣做,如果我不能找到一種方法來做到這一點沒有用戶更改下拉,謝謝。 – Dan

+1

如果你總是希望在頁面加載後啓用它(根據你的實現可能沒有意義),你可以把它放在document.ready函數中:'$(document).ready(function(){$(「輸入[類型=提交]禁用「) 」)removeAttr(「;});' – Rondel