现在,如果我提交表单并且出现错误,它只会显示存在错误,而无需重新选择存在错误的项目(该页面称为“更改项目”),您可以在此处更改以下值某个项目。
附注在我发布的图片中,您可以看到我专门输入了一个字符串“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>
最佳答案
您正在将服务器端与客户端“混合”。当您使用 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/