【问题标题】:Empty AlertController Input - Ionic空警报控制器输入 - 离子
【发布时间】:2019-07-26 16:00:56
【问题描述】:

如果用户尝试在文本框中粘贴字符串,我想清空警报输入。这是我的代码:

openManualEdit () {
  let myAlert = this.alertCtrl.create({
      title: 'Ingreso Manual',
      message: 'Ingresa el código de barra en los campos debajo.',
      inputs: [
        {
          name: 'serial',
          placeholder: 'Número de serie',
          id: 'txtSerial'
        },
        {
          name: 'serial_confirm',
          placeholder: 'Confirma el número de serie',
          id: 'txtSerialConfirm'
        }
      ],
      buttons: [
        {
          text: 'Cancel'
        },
        {
          text: 'Continue',
          handler: (data) => {
            console.log(data);
        }
      }
    ]
  });
  myAlert.present().then(() => {
    // Empty textbox if user tries to paste
    document.getElementById('txtSerial').addEventListener('paste', function (event) {
      console.log(event);
      (<HTMLInputElement>event.target).value = '';
    });

 // Empty textbox if user tries to paste
 document.getElementById('txtSerialConfirm').addEventListener('paste', function (event) {
      // console.log(event);
      (<HTMLInputElement>event.target).value = '';
    });
  });
}

到目前为止,我正在检测粘贴事件,但清空文本框的代码不起作用。我也试过使用:

  • document.getElementById('txtSerial').value = '';
  • document.getElementById('txtSerial')["value"] = '';
  • event.srcElement["value"] = '";

但这些似乎都不起作用。非常感谢任何帮助。

【问题讨论】:

    标签: angular ionic-framework ionic3


    【解决方案1】:

    您可以在事件侦听器中使用event.preventDefault()。那将不允许粘贴。

    document.getElementById('txtSerial').addEventListener('paste', function (event) {
      console.log(event);
      event.preventDefault();
    });
    

    DEMO

    【讨论】:

    • 太棒了,很高兴我能帮上忙! :)
    猜你喜欢
    • 2018-05-23
    • 2017-09-28
    • 1970-01-01
    • 1970-01-01
    • 2018-02-08
    • 1970-01-01
    • 1970-01-01
    • 2018-05-16
    • 1970-01-01
    相关资源
    最近更新 更多