通过 ajax 加载的表单不会将数据附加到父 window
Form loaded via ajax wont append data to parent window
所以我基本上是在为他们的网站创建一个餐厅菜单编辑器。我遇到的问题是当单击名为 Brunch 的类别时,我通过 ajax 将文件 edit_cat.php 加载到页面上。所有数据均已正确传递,但如果表格填写成功,我想 post 在父级 window 上发送一条成功消息,但我没有运气。巧合的是,成功后警报(数据)会弹出响应。
edit_cat.php both handles the form submission and is the form
$(document).ready(function(){
$('.editBtn').on('click', function(e) {
e.preventDefault();
var $this = $(this),
id = $this.data('id'),
type = $this.data('type');
if (type == 'cat') {
data = "&cat=" + id;
$.ajax({
data: data,
type: 'POST',
url: 'edit_cat.php',
success: function(data) {
$('#contentLeft').html(data);
}
});
}
});
$('#contentLeft').on('click', 'input[type="submit"]', function(e) {
e.preventDefault();
var $this = $(this),
frm = $('#edit-cat-frm'),
id = $('form').data('id'),
name = $(frm).find('input[name="name"]').val(),
desc = $(frm).find('textarea[name="desc"]').val(),
send = $(frm).find('input[name="submit"]').val();
data = "&cat=" + id + "&name=" + name + "&desc=" + desc + "&submit=" + send;
$.ajax({
data: data,
type: 'POST',
url: 'edit_cat.php',
success: function(data) {
window.parent.$('.left-container-head').innerHtml(data);
}
});
});
});
试试这个:
$(".left-container-head", window.parent.document).html(data);
你能简单地试试这个吗,
$('.left-container-head').html(data);
所以我基本上是在为他们的网站创建一个餐厅菜单编辑器。我遇到的问题是当单击名为 Brunch 的类别时,我通过 ajax 将文件 edit_cat.php 加载到页面上。所有数据均已正确传递,但如果表格填写成功,我想 post 在父级 window 上发送一条成功消息,但我没有运气。巧合的是,成功后警报(数据)会弹出响应。
edit_cat.php both handles the form submission and is the form
$(document).ready(function(){
$('.editBtn').on('click', function(e) {
e.preventDefault();
var $this = $(this),
id = $this.data('id'),
type = $this.data('type');
if (type == 'cat') {
data = "&cat=" + id;
$.ajax({
data: data,
type: 'POST',
url: 'edit_cat.php',
success: function(data) {
$('#contentLeft').html(data);
}
});
}
});
$('#contentLeft').on('click', 'input[type="submit"]', function(e) {
e.preventDefault();
var $this = $(this),
frm = $('#edit-cat-frm'),
id = $('form').data('id'),
name = $(frm).find('input[name="name"]').val(),
desc = $(frm).find('textarea[name="desc"]').val(),
send = $(frm).find('input[name="submit"]').val();
data = "&cat=" + id + "&name=" + name + "&desc=" + desc + "&submit=" + send;
$.ajax({
data: data,
type: 'POST',
url: 'edit_cat.php',
success: function(data) {
window.parent.$('.left-container-head').innerHtml(data);
}
});
});
});
试试这个:
$(".left-container-head", window.parent.document).html(data);
你能简单地试试这个吗,
$('.left-container-head').html(data);