由 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 的默认事件处理路由中,也就是说,剪贴板的内容会被粘贴两次,因此问题来了。