提交表单后jQuery页面重定向
我有这样的表格
要保存表单,我使用了jQuery。 所以现在我的代码看起来像这样
jQuery(document).ready(function() { jQuery('button').click(function(){ var Value = jQuery(this).attr('data-value'); jQuery('[name="id"]').val(Value); jQuery('#add-to-cart').submit(); window.location = "http://www.page-2.com"; }); });
但是在提交之后,表格并没有重定向到另一个页面( http://www.page-2.com )。 那么有人可以告诉我在提交表单后如何重定向表单吗?
更新抱歉,我不能使用ajax。 我想简单地提交表格。
如果您不使用ajax,则会提交表单,并将浏览器重定向到表单的操作URL。 提交后进行重定向的唯一方法是在操作表单的处理程序中执行此操作。 但是,您可以使用要重定向到的URL添加参数。
该解决方案相对于涉及ajax的解决方案的唯一优势是不需要javascript。 无论javascrit是否启用,它都会起作用。
你可以在你的行动中处理这个,你从服务器代码调用onSubmit()
重定向你想要的页面。
或者你需要使用ajax post()调用,它们会在调用完成时为你提供onSuccess和onFailure事件。 像这样的东西:
$('#add-to-cart').submit(function() { $.ajax({ type: 'POST', url: $(this).attr('action'), dataType: 'json', success: function(json) { window.location.href = "http://www.page-2.com"; } }) return false; });
我是这样做的:
HTML:
使用Javascript:
function searchItem() { $.ajax({ url: urlDomain + "pricelist/?itemName=" + $("#itemName").val(), type: "GET", headers: {"Accept": "application/json", "Content-Type": "application/json"}, success: function(data) { // do your work on success and then, location.href = "path/to/next/Page/To/Display.html"; }, error: function() { alert("error"); } }); }
我编写了上面用于从服务器获取值的代码,但是您可以将jQuery“Type”参数更改为“POST”,并添加“data”参数及其要发送给服务器的值。
希望它能帮到你……
使用onsubmit =“return false”禁用表单提交
HTML
JS
将action属性值保留为后备,因此即使在客户端启用了javascript ,您也可以确保表单正常工作。
我知道这是一个老问题,但我在提交表单后发现了一种不同的重定向方式。
首先,重申
标签的基础知识,因为OP实际上是一个NewUser,提交一个表单已经内置了重定向。 如果您更改原始html:
至:
然后点击你的提交将自动重定向你。
但是,也许NewUser希望提交表单以便始终保留在www.example.com上,并且只有在提交完成后才有时会重定向到www.page-2.com? 我今天遇到了这个确切的情况。
就我而言,我们有一个由表中的数据组成的表单。 用户可以更改数据,然后单击“提交”按钮(称为“保存”)以保存数据库中的更改。
只刷新了表单/表格页面,因为我们希望用户留在该页面上。
我们在该页面上还有一个链接可以将您带到另一个页面,但我必须确保它在重定向之前自动保存所有数据。 所以我让链接提交表单,然后重定向。 这是通过jQuery完成的,没有Ajax。 在这里,它适用于NewUser的代码:
(
不变,action =“http://www.example.com”)
(注意:一旦加载了所有其他内容,请确保这个JavaScript位于php文件的最底部)