2011-12-12 162 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