为什么我不能用Yii CRUD创建的javascript清除输入字段



由 php 的 Yii 的 GRUD 生成的字段:

<?= $form->field($model, 'productId')->textInput(['maxlength' => true]) ?>

火狐浏览器的网页:

<input id="taolistforcreate-productid" class="form-control" name="TaolistForCreate[productId]" aria-required="true" aria-invalid="true" type="text">

用于清除字段的脚本:

$(document).ready(function () {
$("#taolistforcreate-productid").bind("paste",function(e){
    var pastedData = e.originalEvent.clipboardData.getData('text');
    var taoID=GetTaoID(pastedData);
    $("#taolistforcreate-productid").val('');//failed to clear the field 
    $("#taolistforcreate-productid").val(taoID);//succeed 
});
});

我也用谷歌搜索了一堆其他js代码,仍然不起作用。

可能是

您对生成的ID的访问权限不匹配,因此

您可以尝试在输入字段中添加您的 ID

<?= $form->field($model, 'productId')
         ->textInput(['id' => 'your_id','maxlength' => true]) ?>

和在 js 中

 $("#your_id").val("");
 $("#your_id").removeAttr("value");

希望这对你有帮助

上帝,终于...问题解决了,在将"return false;"添加到我个人onpaste事件处理功能的底线后!

浏览器操作器两次触发"onpaste"事件。经过我自己的函数处理后,同一个事件会被调度到 jquery 的默认事件处理路由中,也就是说,剪贴板的内容会被粘贴两次,因此问题来了。

最新更新