在Javascript中提交表单后重定向

时间:2014-03-18 19:02:07

标签: javascript forms redirect submit

我希望有人可以帮助解决这个问题。我无法访问网站后端,所以我无法更改上传的js脚本。我想要实现的是提交一个简单的表单来提交问题报告,然后显示一个“谢谢”弹出窗口并重定向回到我们页面上帐户的主页面。

所以我可以制作表格没问题。我通过转到“编辑”链接并单击“页面正文”中的“显示源”来复制其中一个正在运行的表单。但是,按下“提交”按钮后,我无法停止它进入另一个页面的默认行为。我怀疑它是在后端的js脚本中。我将复制下面的代码。

<center>
<b>App Issues Report Form</b>
<br>
</center>

<form action="/Modules/SendForm" method="post" class="form" id="NewForm">
<input name="formFields" value="CONTACTID,AgentName,Notes" type="hidden">
       <input name="formLabels" value="Contact ID:,Agent Name:,Notes:" type="hidden">
       <input name="fromAddress" value="no-reply@callcenter.com" type="hidden">
       <input name="toAddress" value="name@CallCenter.com" type="hidden">
       <input name="subject" value="A new message about app" type="hidden">
       <input name="emailMsg" value="The following data has been collected:" type="hidden">
       <input name="CONTACTID" value="##CONTACTID##" type="hidden">
<input name="companyId" value="##COMPANY_ID##" type="hidden">


                        <div class="clearfix">
                        <label>Agent Name:</label>
                        <div class="input"><input id="AgentName" name="AgentName"
 class="validate[required] xlarge" value="##LOGGEDIN_AGENT_FIRST_NAME## 
 ##LOGGEDIN_AGENT_LAST_NAME##" type="text">
                        </div>
                    </div>

<div class="clearfix">
                        <label>Notes:</label>
                        <div class="input"><textarea id="Notes" name="Notes" 
class="validate[required] xxlarge"></textarea>
                        </div>
</div>
                    <div class="clearfix grey-highlight">
                    <div class="input no-label">
                        <input class="button blue" value="Submit" type="submit">
                        <input class="button grey" value="Reset" type="reset">
                    </div>
                </div>

</form>
<script type="text/javascript">
$(document).ready(function() {
$("NewForm").click(function( event ) {
alert( "Thank you for your feedback" );
event.preventDefault();
});
});
</script>

当我复制代码时,它过去只有这个:

<script type="text/javascript"> 
$(document).ready(function () { 
new setupAjaxForm('NewForm'); }); 
</script>

我试过搜索,这里的建议似乎没有用:

How to redirect user to another page after Ajax form submission

How to redirect user to another page after Ajax form submission?

http://learn.jquery.com/about-jquery/how-jquery-works/

1 个答案:

答案 0 :(得分:0)

你要看的第一件事是action="/Modules/SendForm" - 这就是重定向。如果您不想重定向,请将其设置为您拥有该表单的页面的名称。显然,表单和重定向还有很多(其他一些js代码也可能会影响这一点,但是我们看不到函数setupAjaxForm应该在这里做什么),但这真的是第一件事检查/正确。

编辑:我想我现在更了解它:基本上如果您无权访问/Modules/SendForm页面(其中最有可能,例如表单验证,重定向)也会发生,然后你无法改变重定向。