我正在网上商店运行一个表单,如下所示:
<form>
<input type="number" name="quantity" value="" required = "required" />
<input type="radio" name="homeDelivery" value="" required = "required" checked="true" />
<input type="radio" name="homeDelivery" value="" required = "required" />
<input type="submit" value="buy" name="submitBuy" class="buy formConfirm" />
</form>
按下提交按钮后,我根据从 $_POST 获得的信息在 php 中运行一个简单的错误检查。我有一个名为 $errors 的数组,如果我的错误检查发现任何错误,它将它们添加到我的数组中,否则不会,如果数组直到最后都保持为空,我的表单将提交数据,否则不会。
但是,我确实希望在按下提交后有一个 JS 确认框,只有在实际表单中没有错误时才会弹出。所以对于我的实际问题: 如果我的 $errors 变量为空,是否可以检查 JavaScript 代码?像这样工作的东西:
if(empty($errors)) {
//run code
}
如果可能的话,我希望我的 javascript 代码看起来像这样(我想你明白了);
$('.buyConfirm').on('click', function(){
if (errors == NULL) {
return confirm('Are you sure?');
}
else {
return false;
}
});
感谢任何帮助,
干杯!
最佳答案
您需要将 PHP var 输出为 JS 数组,最好使用 json_encode
,然后在您的条件下使用它
<script>
var errors = <?php echo json_encode($errors); ?>;
if (errors.length < 1) {
if (confirm("Are you sure?")) {
// User has no errors and has confirmed
} else {
// User has no errors but did not confirm
}
} else {
// User has errors
}
</script>
关于取决于 phpvariable 的 JavaScript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40286847/