javascript - 表单提交错误后记住 Selectbox 值

标签 javascript php html codeigniter

现在,如果我提交表单并且出现错误,它只会显示存在错误,而无需重新选择存在错误的项目(该页面称为“更改项目”),您可以在此处更改以下值某个项目。

附注在我发布的图片中,您可以看到我专门输入了一个字符串“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>

enter image description here

最佳答案

您正在将服务器端与客户端“混合”。当您使用 javascript 时,您是在客户端编程,并且无法访问服务器中的变量。所以 php 代码不能在 javascript 上运行。 在

<script> alert($_POST['categorieSelect']);
         $('#project-wijzigen').show(); 
         $(this).toggleClass('close'); 
</script> 

您无法访问服务器变量 $_POST。

你应该做这样的事情:

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

然后,在您的脚本中:

<script> alert($('#hidden-input').val());
         $('#project-wijzigen').show(); 
         $(this).toggleClass('close'); 
</script>

关于javascript - 表单提交错误后记住 Selectbox 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19344768/

相关文章:

php - JavaScript 验证数据库

php - 基于文本字段将字段显示为 yyyy/mm/dd

javascript - 跨度和查询选择器

javascript - 我只想在下面的 div 中设置第一行的样式,而不使用内部 div 和 span

javascript - Jquery load() 使页面刷新

php - PHP 中是否有一个好的(独立的)PHPDoc 解析器类或函数?

php - 从android应用程序上传多个图像文件到php服务器

php - 我的模型未加载到 codeigniter 的 Controller 中

html - CSS 分栏符?

javascript - 无法让 Vue.js CSS 转换工作?