Javascript 还记得表单提交后出现错误时的Selectbox值吗

Javascript 还记得表单提交后出现错误时的Selectbox值吗,javascript,php,html,codeigniter,Javascript,Php,Html,Codeigniter,现在,如果我提交表单时出现错误,它只会显示有错误,而无需重新选择项目,就有错误,(该页面称为“更改项目”),在这里,您可以更改某个项目的值 另外,在我发布的图片中,你可以看到我特别输入了一个字符串“test”,其中应该有一个整数 我试过$(“#categorieSelect”).val($_POST['categorieSelect']);但它不起作用 <div id="project-wijzigen" class="form"> <h2> Wijzig

现在,如果我提交表单时出现错误,它只会显示有错误,而无需重新选择项目,就有错误,(该页面称为“更改项目”),在这里,您可以更改某个项目的值

另外,在我发布的图片中,你可以看到我特别输入了一个字符串“test”,其中应该有一个整数

我试过$(“#categorieSelect”).val($_POST['categorieSelect']);但它不起作用

<div id="project-wijzigen" class="form">
        <h2> Wijzig een project </h2>       
 <?php
            echo form_open('c_admin/project'); //moet ge nog aanpassen
            echo '<select id="categorieSelect" name="categorieSelect"></select>';
            echo form_input('startdatum', set_value('startdatum'), 'placeholder="Startdatum"');
            echo form_input('einddatum', set_value('einddatum'), 'placeholder="Einddatum"');
            echo form_input('projecttitel', set_value('projecttitel'), 'placeholder="Projecttitel"');
            echo form_input('ism', set_value('ism'), 'placeholder="In samenwerking met"');
            echo form_input('projecttekst', set_value('projecttekst'), 'placeholder="Projecttekst"');
            echo form_submit('submit', 'Project wijzigen');
            echo form_close();

// --------------------------- Error checking/display           
            if(isset($projectWijzigenError)) // check of de variabele wel een waarde heeft (als je die zomaar oproept en hij moest leeg of NULL zijn dan krijg je een error op je pagina)
                {
                if ($projectWijzigenError=='true') // ALS er een error is, dan opent de form terug en worden errors weergegeven
                {
                $("#categorieSelect").val($_POST['categorieSelect']);
                alert($_POST['categorieSelect']);
?>
                    <script>
                    alert($_POST['categorieSelect']);
                    $('#project-wijzigen').show();
                    $(this).toggleClass('close');
                    </script>

<?php 
                echo validation_errors('<p class="error">'); 
                }  
                }
// -------------------------- End error checking/displaying             
?>

    </div>

Wijzig-een项目

您正在“混合”服务器端和客户端。使用javascript时,您在客户端编程,无法访问服务器中的变量。所以php代码不能在javascript上工作。 在

alert($_POST['categorieSelect']);
$(“#wijzigen项目”).show();
$(this.toggleClass('close');
您无法访问作为服务器变量的$\u POST

你应该这样做:

<?php echo '<input type="hidden" id="hidden-input" value="'.$_POST['categorieSelect'].'">'; ?>

然后,在脚本中:

<script> alert($('#hidden-input').val());
         $('#project-wijzigen').show(); 
         $(this).toggleClass('close'); 
</script>
alert($('#隐藏输入').val());
$(“#wijzigen项目”).show();
$(this.toggleClass('close');

您可以使用Codeigniter验证

客户端验证呢?你是什么意思?我对这一切一无所知:x$(“#分类选择”).val($(“#隐藏输入”).val();如果要替换行$(“#categorieSelect”).val($#u POST['categorieSelect']),则不会执行任何操作;通过$(“#categorieSelect”).val($(“#隐藏输入”).val());在您的代码中,它将不起作用。在这行代码中,您将客户端编程与服务器端编程混合在一起,如果(isset($projectWijzigenError)){if($projectWijzigenError=='true'){$(“#categorieSelect”).val($#POST['categorieSelect']);alert($#POST['categorieSelect']);…这将永远不会起作用。
<script> alert($('#hidden-input').val());
         $('#project-wijzigen').show(); 
         $(this).toggleClass('close'); 
</script>