Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Javascript是否导致我的表单在错误重新加载页面时不回显选中?_Php_Javascript_Html_Ajax_Options - Fatal编程技术网

Php Javascript是否导致我的表单在错误重新加载页面时不回显选中?

Php Javascript是否导致我的表单在错误重新加载页面时不回显选中?,php,javascript,html,ajax,options,Php,Javascript,Html,Ajax,Options,我对PHP/Javascript/Ajax还是新手,在解决这个问题上遇到了很多困难(已经持续了好几个星期) 我的网站有一个注册成为会员的页面,需要填写所有字段。这是一个囊性纤维化社区的网站,所以在表格中有一个部分,你可以选择你与囊性纤维化的关系。(我有/我认识的人有)如果您选择我有,将出现一个下拉框,并为您提供Fibro(男性)或Cyster(女性)选项。如果您选择我认识的人,则会打开一个不同的下拉列表,其中包含各种选项(阿姨、叔叔等) 我有无数可能犯的错误。密码不匹配,未检查/填写验证码或使用

我对PHP/Javascript/Ajax还是新手,在解决这个问题上遇到了很多困难(已经持续了好几个星期)

我的网站有一个注册成为会员的页面,需要填写所有字段。这是一个囊性纤维化社区的网站,所以在表格中有一个部分,你可以选择你与囊性纤维化的关系。(我有/我认识的人有)如果您选择我有,将出现一个下拉框,并为您提供Fibro(男性)或Cyster(女性)选项。如果您选择我认识的人,则会打开一个不同的下拉列表,其中包含各种选项(阿姨、叔叔等)

我有无数可能犯的错误。密码不匹配,未检查/填写验证码或使用条款等。因此,重新加载页面以显示错误消息。我已将“echo selected”放在所有选项值中,以便页面按原样加载以前选择的信息。当您选择“我有CF”时,会发生以下情况:

注册时-如果我第一次选择“我有CF”,但忘记填写“Cyster或Fibro”,我会收到错误消息。然后,当我返回并添加Cyster或Fibro时,它继续告诉我,我需要输入我与CF的关系,即使它在框中显示已选择Cyster或Fibro

如果我报名的话。已将与CF的关系填写为“我有CF”,并填写了“Cyster或Fibro”,但收到任何错误消息(错误的电子邮件、密码不匹配等)Cyster或Fibro的答案不正确(不在那里),如果我再次选择,它将不接受我的选择,并不断说“你必须选择你的关系”尽管它显然是被选中的

正如我所说,我已经为此挣扎了几个星期,就我所知,我的代码看起来是正确的。我想这和Javascript有关?这是我的密码:

(如果您需要周边代码帮助,请告诉我,谢谢)


*与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>