由PHP的Yii GRUD生成的字段:
<?= $form->field($model, 'productId')->textInput(['maxlength' => true]) ?>
Firefox的HTML:
<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代码,仍然无法正常工作。
答案 0 :(得分:0)
可能是您对生成的ID的访问权限不匹配
您可以尝试将您的ID添加到输入字段
<?= $form->field($model, 'productId')
->textInput(['id' => 'your_id','maxlength' => true]) ?>
和js
$("#your_id").val("");
答案 1 :(得分:0)
.post-footer { margin-top: 45px }
希望这会对你有所帮助
答案 2 :(得分:0)
上帝,终于......问题解决了,加上&#34;返回false;&#34;进入我个人的onpaste事件处理功能的底线!
broswer actullay激发&#34; onpaste&#34;事件两次。在我自己的函数处理之后,同样的事件将被分派到jquery的默认事件处理路由,也就是说,剪贴板的内容将被粘贴两次,因此问题。