所以,我有几个文件:
-- model -- step1.php
-- step2.php
-- view -- main.php
-- step1.php
-- step2.php
-- controller -- step1.php
-- step2.php
现在基本上我要做的是从 main.php 调用 step1 视图:
$(document).ready(function(){
$("#MyForm").validate({
submitHandler: function(form) {
$.post('../controller/step1.php', $("#MyForm").serialize(), function(data) {
$('#step1_controller').html(data);
});
}
});
});
这可行,但是当您在 main.php 中提交表单时,会执行 step1 控制器并加载 step2 视图。
问题是,当我通过这个 ajax 请求加载 step2 视图时,step2 视图不再能够加载 step2 控制器。但是,当我在浏览器中打开 step2 视图时,一切正常,并且已加载 step2 控制器。
main.php -> 加载 step2.php -> 加载 step2 控制器
- main.php 成功加载 step2 视图
step2视图成功加载step2控制器
但是 main.php 无法加载 step2 控制器
我知道这有点令人困惑,但如果有人可以帮助我,我将非常感激。
无论如何,所有这些使用这些动态 ajax 加载安装步骤的页面是如何工作的?
要知道,你在step1填表,点击submit,step2显示,填表,submit step3显示。最好的方法是什么?
step2 视图:
<script>
$(document).ready(function(){
$("#Foo").validate({
submitHandler: function(form) {
$.post('../controller/step2.php', $("#Foo").serialize(), function(data) {
$('#results_step2').html(data);
});
}
});
});
</script>
<h1 class="header_step2">Lorem</h1>
<p />
<form name="Foo" id="Foo" action="" method="POST" enctype="multipart/form-data">
<select size="1" name="Bar">
<option value="Foo">Bar</option>
<option value="Foo">Bar</option>
<option value="Foo">Bar</option>
<option value="Foo">Bar</option>
<option value="Foo">Bar</option>
</select>
<button type="submit">
<div id="results_step2"> Save </div>
</button>
</form>