我有一个PHP页面,使用AJAX加载表单的几个部分。例如,首先检查用户是否已经注册,如果是,则脚本加载(使用AJAX)表单的其余部分。使用AJAX不会提交表单当用户提交表单时没有问题(没有AJAX) - 想象有一些错误 - 表单会丢失所有值。 我想知道CSS是否隐藏了表单的一部分,并且在成功登录后使用JS来显示表单的其余部分,会更好。
这里有一些代码:
<form action="some_action.php">
Email: <input type="text" name="email" id="email"> <br />
Password: <input type="password" name="password" id="password"> <br />
<button id="vrf_login">Verificar</button>
<div id="rest_form">
</div>
</form>
AJAX: - 检查登录:如果电子邮件和密码匹配则 - 为id为“rest_form”的div加载表单 (它在另一个文件中,例如:
<input type="text" name="place" id="place">
<input type="text" name="age" id="age">
<input type="submit" name="submit" value="submit">
)
问题是如果我提交表单(没有AJAX)并且有错误我会松开加载AJAX的表单
编辑(再次)
谢谢大家的建设性意见: 我采用的解决方案接近第一个Alkis的建议:
几乎所有表单都隐藏了(CSS)
经过一些逻辑选择后,(部分)表单变为可见(jQuery) - “记住”在提交失败的情况下哪些部分应该可见(服务器端验证)某些会话变量保存信息( AJAX) - 然后,在提交(失败)之后使用jQuery恢复先前的表单结构(以这种方式用JS获取会话变量:var xpto = "<?php echo $_SESSION['prior_xpto']; ?>" ;
)
表单的字段将记住他们的值(使用PHP)
答案 0 :(得分:1)
您有3个选项。
答案 1 :(得分:0)
请为您的问题提供一些代码,但我想您的问题是使用按钮发送结果&#34;提交&#34;输入!
如果你有这样的表格:
<form>
<inputs ...>
<input type="submit" value="Send data" onclick="SendDataUsingAjax()" >
</form>
单击提交后无论您的ajax函数在做什么,输入上的所有值都将重置。要解决这个问题你只需要改变type =&#34;提交&#34;输入=&#34;按钮&#34;。