我正在一个网页上工作,我有一个主登陆页面,其中有一个加载不同页面的div;我做了这个,所以整个页面没有重新加载,但ajax只是发出一个调用加载该div内的不同页面。我已经从主登陆页面调用了能够重定向div的电话;但是我无法从div内部调用来重定向div。
我的问题是在div中加载的一个页面我有一个表单。我希望这个表单在提交时执行一些php任务,然后根据结果加载div中的不同页面;但现在发生的事情是我的整个页面都被刷新了。
我不需要确切的答案,只需要一般方法和次要代码,例如: 如果以这种形式输入'yes'并点击输入div将刷新为'a.php',如果输入'no',则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>
form-page(div内): 一个带有表单的基本php页面...我觉得我必须以某种方式改变动作和方法;并可能在此页面添加javascript,但我不确定该怎么做。
<form action='' method='POST'>
word:<input type='text' name='value'>
<input type='submit name='submit'>
非常感谢您的时间;任何帮助将不胜感激。
答案 0 :(得分:0)
当所有其他方法都失败时......建造一个更大的盒子。您已经知道如何使用jquery和ajax提交页面。我要做的是创建另一个隐藏的分区与此一个相同的位置。使用ajax提交表单并将响应返回到其他部门,只需替换现有部门即可。
答案 1 :(得分:0)
另一个解决方案,更简单的是使用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在页面之间交换。