【发布时间】:2021-09-08 04:55:28
【问题描述】:
提交后我必须清除选择输入,但它给了我这个错误消息:
Cannot read property 'clear' of undefined
这是我目前所拥有的:
- GET $_POST 值,这没什么问题。
<?php
$autoclear = "0";
if (isset($_POST['autoClear']))$autoclear = $_POST['autoClear'];
?>
- 我的 HTML 表单,这也没什么问题。
<form method="post" action="">
<input type="checkbox" id="autoClear" name="autoClear" value="1" <?php if ($autoclear == '1') echo 'checked'; ?>>
<select id="client" name="client" class="client selectize" >
<option>
...
...
</option>
</select>
<!-- OTHER INPUTS, IRRELEVANT -->
<input type="submit" name="submitBtn" id="submitBtn" class="submitBtn btn-info" value="Submit">
</form>
- 这是问题。似乎 HTML
<select id="client" .... </select>必须先加载,然后才能调用 selectize.clear()函数。但是,由于 PHP 是在服务器端运行的,所以它会打印出来,这可能是导致问题的原因吗?
<script>
function clearSelectize(){
// Clear Selectize [ERROR]
$('#client')[0].selectize.clear();
}
</script>
<?php
if ($autoclear == '1'){
echo "<script>clearSelectize(); </script>";
}
?>
我最初做了什么:重新加载页面。
<script>window.location.href = 'page.php'; </script>
但这会clearALL输入,所以我必须想办法清除ONLY selectize input。
更新:解决方案#1
<script type="text/javascript">
$(document).ready(function () {
<?php
if ($autoclear == '1'){
echo "$('.car.selectize')[0].selectize.clear();";
}
?>
}
</script>
这对我有用,谢谢。如果有人有更好的方法/解决方案,请告诉我。
非常感谢任何建议/建议!谢谢!
【问题讨论】:
标签: javascript php html jquery selectize.js