Php Javascript是否导致我的表单在错误重新加载页面时不回显选中?
我对PHP/Javascript/Ajax还是新手,在解决这个问题上遇到了很多困难(已经持续了好几个星期) 我的网站有一个注册成为会员的页面,需要填写所有字段。这是一个囊性纤维化社区的网站,所以在表格中有一个部分,你可以选择你与囊性纤维化的关系。(我有/我认识的人有)如果您选择我有,将出现一个下拉框,并为您提供Fibro(男性)或Cyster(女性)选项。如果您选择我认识的人,则会打开一个不同的下拉列表,其中包含各种选项(阿姨、叔叔等) 我有无数可能犯的错误。密码不匹配,未检查/填写验证码或使用条款等。因此,重新加载页面以显示错误消息。我已将“echo selected”放在所有选项值中,以便页面按原样加载以前选择的信息。当您选择“我有CF”时,会发生以下情况: 注册时-如果我第一次选择“我有CF”,但忘记填写“Cyster或Fibro”,我会收到错误消息。然后,当我返回并添加Cyster或Fibro时,它继续告诉我,我需要输入我与CF的关系,即使它在框中显示已选择Cyster或Fibro 如果我报名的话。已将与CF的关系填写为“我有CF”,并填写了“Cyster或Fibro”,但收到任何错误消息(错误的电子邮件、密码不匹配等)Cyster或Fibro的答案不正确(不在那里),如果我再次选择,它将不接受我的选择,并不断说“你必须选择你的关系”尽管它显然是被选中的 正如我所说,我已经为此挣扎了几个星期,就我所知,我的代码看起来是正确的。我想这和Javascript有关?这是我的密码: (如果您需要周边代码帮助,请告诉我,谢谢)Php Javascript是否导致我的表单在错误重新加载页面时不回显选中?,php,javascript,html,ajax,options,Php,Javascript,Html,Ajax,Options,我对PHP/Javascript/Ajax还是新手,在解决这个问题上遇到了很多困难(已经持续了好几个星期) 我的网站有一个注册成为会员的页面,需要填写所有字段。这是一个囊性纤维化社区的网站,所以在表格中有一个部分,你可以选择你与囊性纤维化的关系。(我有/我认识的人有)如果您选择我有,将出现一个下拉框,并为您提供Fibro(男性)或Cyster(女性)选项。如果您选择我认识的人,则会打开一个不同的下拉列表,其中包含各种选项(阿姨、叔叔等) 我有无数可能犯的错误。密码不匹配,未检查/填写验证码或使用
*与CF的关系:
选一个
>我认识的人有CF
实现这一点的最佳方法是使用JavaScript加载值和验证。我会使用一个框架来简化它
- ExtJS
- 道场
- JQuery
是一些最有名的。它们内置了表单验证器和AJAX功能,使您的操作更简单
请参见最佳解决方案是在PHP端进行验证(使用AJAX),并将验证结果作为JSON返回。另见
<tr>
<td class="left">
<span style="color:#FF0000;">*</span> Relation to CF:
</td>
<td class="right">
<select name="CFDistance" onchange="switch_distance(this);">
<option value="null" disabled selected>choose one</option>
<option value="self" <?php if($_POST['CFDistance'] == "self") { echo "selected"; } ?>>I have CF</option>
<option value="others" <?php if($_POST['CFDistance'] == "others") { echo "selected"; } ?>>Someone I know has CF</option>
</select>
<div id="self_cf_box" class="signup_dropdowns" style="margin:10px 0px 0px 0px;<?php if($_POST['CFDistance'] != "self") { echo "display:none;"; } ?>">
<span style="color:#FF0000;">*</span> I am a
<select id="RelationToCF_self" name="RelationToCF" <?php if($_POST['CFDistance'] != "self") { echo "display:none;"; } ?>>
<option value="null" disabled selected>choose one</option>
<option value="Fibro" <?php if($_POST['RelationToCF'] == "Fibro") { echo "selected"; } ?>>Fibro (male)</option>
<option value="Cyster" <?php if ($_POST['RelationToCF'] == "Cyster") { echo "selected";} ?>>Cyster (female)</option>
</select>
</div>
<div id="others_cf_box" class="signup_dropdowns" style="margin:10px 0px 0px 0px;<?php if($_POST['CFDistance'] != "others") { echo "display:none;"; } ?>">
<span style="color:#FF0000;">*</span> I am this person's
<select id="RelationToCF_others" name="RelationToCF" <?php if($_POST['CFDistance'] != "others") { echo "display:none;"; } ?>>
<option value="null" disabled selected>choose one</option>
<option value="Mom" <?php if ($_POST['RelationToCF'] == "Mom") { echo "selected"; } ?>>Mom</option>
<option value="Dad" <?php if ($_POST['RelationToCF'] == "Dad") { echo "selected"; } ?>>Dad</option>
<option value="Aunt" <?php if ($_POST['RelationToCF'] == "Aunt") { echo "selected"; } ?>>Aunt</option>
<option value="Brother" <?php if ($_POST['RelationToCF'] == "Brother") { echo "selected"; } ?>>Brother</option>
<option value="Caregiver" <?php if ($_POST['RelationToCF'] == "Caregiver") { echo "selected"; } ?>>Caregiver</option>
<option value="Child" <?php if ($_POST['RelationToCF'] == "Child") { echo "selected"; } ?>>Child</option>
<option value="Cousin" <?php if ($_POST['RelationToCF'] == "Cousin") { echo "selected"; } ?>>Cousin</option>
<option value="Friend" <?php if ($_POST['RelationToCF'] == "Friend") { echo "selected"; } ?>>Friend</option>
<option value="Grandma" <?php if ($_POST['RelationToCF'] == "Grandma") { echo "selected"; } ?>>Grandma</option>
<option value="Grandpa" <?php if ($_POST['RelationToCF'] == "Grandpa") { echo "selected"; } ?>>Grandpa</option>
<option value="Guardian" <?php if ($_POST['RelationToCF'] == "Guardian") { echo "selected"; } ?>>Guardian</option>
<option value="Husband" <?php if ($_POST['RelationToCF'] == "Husband") { echo "selected"; } ?>>Husband</option>
<option value="Nephew" <?php if ($_POST['RelationToCF'] == "Nephew") { echo "selected"; } ?>>Nephew</option>
<option value="Niece" <?php if ($_POST['RelationToCF'] == "Niece") { echo "selected"; } ?>>Niece</option>
<option value="Partner" <?php if ($_POST['RelationToCF'] == "Partner") { echo "selected"; } ?>>Partner</option>
<option value="Sister" <?php if ($_POST['RelationToCF'] == "Sister") { echo "selected"; } ?>>Sister</option>
<option value="Uncle" <?php if ($_POST['RelationToCF'] == "Uncle") { echo "selected"; } ?>>Uncle</option>
<option value="Wife" <?php if ($_POST['RelationToCF'] == "Wife") { echo "selected"; } ?>>Wife</option>
</select>
</div>
<script type="text/javascript">
function switch_distance(el) {
if(el.value == 'self') {
document.getElementById('self_cf_box').style.display = "block";
document.getElementById('RelationToCF_self').disabled = false;
document.getElementById('others_cf_box').style.display = "none";
document.getElementById('RelationToCF_others').disabled = true;
}else{
document.getElementById('self_cf_box').style.display = "none";
document.getElementById('RelationToCF_self').disabled = true;
document.getElementById('others_cf_box').style.display = "block";
document.getElementById('RelationToCF_others').disabled = false;
}
}
</script>