首页 > 解决方案 > 不使用模式将数据传回父页面

问题描述

我有一个客户的请求,在页面中有一个表单,我可以从(例如)工作列表中进行选择,而其他字段对于此示例无用。如果作业不在列表中,我需要单击添加另一个以打开新页面,我可以在其中插入新页面。

父.php:

<select>
  <option value="1">job 1</option>
  <option value="2">job 2</option>
  <option value="3">job 3</option>
</select>
<a id="btn-add-new" target="_blank" href="newjob.php">Add another one</a>

<submit>SEND FORM</submit>

我的目标是,在 newjob.php 中,在新插入之后,关闭页面(因为它是用 _blank 打开的),并返回插入的新 ID 并在我的 parent.php 中预选选择并返回新 ID。

新工作.php:

<input type="text" name="job_name" value="">
...
...
others fields ( a lot..)
...
...
<submit>Save job</submit>

我知道我可以打开一个模式并使用 ajax 来简化它.. 但我需要使用已经完成的newjob.php页面,因为它有很多其他字段,我不想为 parent.php 中的模式复制它

是否有解决方案,或者我必须使用模态和 ajax 完成,当然,复制 newjob.php 的 HTML/PHP 以将其插入模态?!

标签: phpjquery

解决方案


您必须在同一页面上执行此操作。没有其他办法。但是你可以使用已经工作newjob.php的 .

只需执行 ajax 调用newjob.php并将其附加到模态。

编辑

如果你只想追加<div id="primaryContentPage"...>而不是在 ajax 中做这样的事情。

$.ajax({
    //your parameters...
    success: function (data) {
        $("yourModalId").append($(data).find("#primaryContentPage"));
    }
});

您要向其添加页面内容的模式yourModalId在哪里idnewjob.php


推荐阅读