我知道HTML中的submit按钮可以提交打开目标页面的表单,但如何使jQuery ajax调用将信息发布到新页面并显示新页面。我提交的信息是通过单击元素(这将切换一个名为“select”的新类)收集的,然后将这些项中的标识符和新类添加到字符串中并发布到新页面。此新页将使用此数据提供上一页中所选内容的摘要。我现在可以让它将数据发布到一个新的PHP页面,但ajax函数似乎只保留在当前页面上(这对某些事情很好,但不是这样),而不是重定向到新页面。我该怎么做呢?
以下是脚本部分:
//onload function
$(function() {
//toggles items to mark them for purchase
//add event handler for selecting items
$(".line").click(function() {
//get the lines item number
var item = $(this).toggleClass("select").attr("name");
});
$('#process').click(function() {
var items = [];
//place selected numbers in a string
$('.line.select').each(function(index){
items.push($(this).attr('name'));
});
$.ajax({
type: 'POST',
url: 'additem.php',
data: 'items='+items,
success: function(){
$('#menu').hide(function(){
$('#success').fadeIn();
});
}
});
});
return false;
});
任何指点都会很棒!!谢谢
编辑:
感谢您的帮助,我已将脚本更改为:
//onload function
$(function() {
//toggles items to mark them for purchase
//add event handler for selecting items
$(".line").click(function() {
//get the lines item number
var item = $(this).toggleClass("select").attr("name");
});
$('#process').click(function() {
var items = [];
//place selected numbers in a string
$('.line.select').each(function(index){
items.push($(this).attr('name'));
});
$('#items').attr('value',items);
$('#form').submit()
});
return false;
});
最佳答案
首先,我不鼓励在这里使用ajax,因为您没有将它用于预期目的,而是强制它重新加载。
在ajax的成功中,您可以这样做
success: function(){
window.location = "the new url you wanted to load";
}
编辑:
为什么不将表单操作属性设置为要发布到的页面并可以访问该已发布页面中表单的所有变量的普通发布,或者可以将所有值串联或存储在数组中,并将此数组存储在隐藏变量中,并在已发布脚本中访问此变量。
关于javascript - 如何使jQuery POST函数打开新页面?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2661219/