【问题标题】:How to reload a div from a form inside itself?如何从自身内部的表单重新加载 div?
【发布时间】:2012-12-14 02:28:04
【问题描述】:

我正在开发一个网页,其中有一个主登录页面,该页面有一个加载不同页面的 div;我这样做是为了不重新加载整个页面,但 ajax 只是发出调用以在该 div 中加载不同的页面。我已经有来自主登录页面的呼叫能够重定向 div;但我无法从 div 内部接到呼叫以重定向 div。

我的问题是在 div 中加载的页面之一上,我有一个表单。我希望该表单在提交时执行一些 php 任务,然后根据结果在 div 中加载不同的页面;但现在发生的是我的整个页面都被刷新了。

我不需要一个确切的答案,只需要一个通用方法和次要代码,用于以下情况: 如果在此表单中有人输入“是”并点击进入,则 div 将刷新为“a.php”,如果他们输入“否”,则 div 将刷新为“b.php”;如果他们不输入任何内容,则 div 将使用相同的表单页面重新加载。

一些相关的代码是... 登陆页面(div外):

//all the ajax that handles the reloading
<form>
<select id="ajaxmenu" size="1">
<option value="p1.php">Page 1</option>
<option value="p2.php">Page 2</option>
<option value="p3.php">Page 3</option>
</select>
<input type="button" onClick="ajaxcombo('ajaxmenu', 'contentarea')" value="Go" />
</form>
<div id="contentarea"></div>

表单页面(在 div 内): 一个带有表单的基本php页面......我觉得我必须以某种方式改变动作和方法;并可能在此页面中添加 javascript,但我不确定该怎么做。

<form action='' method='POST'>
word:<input type='text' name='value'>
<input type='submit name='submit'>

非常感谢您的宝贵时间;任何帮助将不胜感激。

【问题讨论】:

  • 我还想到了两种通用方法,它们可能有效,但不是 100% 肯定可以: 1) 让表单提交自己刷新 div 并使用链接中存储值的链接;然后做所有的 php 工作,然后决定发送另一个刷新。 2)必须在点击时形成一个java函数并处理java代码中的所有数据;然后进行 div 刷新。在这两种情况下,我都会遇到一个难题,即让 div 中的子页面向父页面发送刷新命令以刷新 div。对不起,如果我听起来很愚蠢;我对 php 还算不错;并且不擅长 java 和 ajax。

标签: php ajax forms html reload


【解决方案1】:

当一切都失败时......建立一个更大的盒子。您已经知道如何使用 jquery 和 ajax 提交页面。我要做的是创建另一个隐藏分区与这个分区相同。使用 ajax 提交表单并将响应返回到另一个部门,只需替换现有的部门即可。

【讨论】:

    【解决方案2】:

    另一种解决方案,更简单的解决方案是使用 iFrame。例如:

        <iframe src="your_page.php" scrolling="no" frameBorder="0" style="position:absolute;top:0px;left:0px;height:100%;background-color:#ffffff;">
    If you are seeing this your browser does not support iFrames.</iframe>
    

    当您在 iFrame 中加载页面时,您的浏览器会完全加载另一个页面,执行/呈现它,然后将生成的 html 导入您的页面;与只导入代码并在导入后在页面内呈现的 div 不同。这非常有用,因为如果您在 iFrame 中有一个页面并且您单击该页面中的一个链接,它只会使用该新页面重新加载 iFrame。它可以像任何其他页面一样工作;使其更容易,因为即使提交表单数据,您也不需要 AJAX 在页面之间交换。

    【讨论】:

      猜你喜欢
      • 2015-01-31
      • 1970-01-01
      • 2013-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多