oudekaas
oudekaas

Reputation: 315

Why doesn't my input onChange work in Edge?

No error messages, the file gets selected, however the input.onchange = () => {} never gets called.

I added: to the top of HTML to no result. Any idea why this doesn't work in Edge?

 toolbar.addHandler('image', () => {   
          const range = this.quillReply.getSelection();
          this.selectLocalImage()
         
      })
      toolbar.addHandler('link', (value) => {
          if (value) {
              var href = prompt('Enter the URL');
              this.quillReply.format('link', href);
          } else {
              this.quillReply.format('link', false);
          }
      });
  }
  selectLocalImage = () => {
      const input = document.createElement('input');
      input.setAttribute('type', 'file');
      input.click();
      // Listen upload local image and save to server
      input.onchange = () => {
      }
}

Upvotes: 2

Views: 1562

Answers (2)

Jax Williams
Jax Williams

Reputation: 3

I also met this question,this code snippets seems to be used in quill editor as a image uploader plugin.

I solved it after change the "selectLocalImage" function to below:

/**
* Select local image
*/
selectLocalImage = () => {
  const input = document.createElement('input');
  input.setAttribute('type', 'file');
  input.addEventListener('change', () => {
    // do something like upload local image and save to server
  });
  input.click();
}

tested in edge 44 and chrome 71.

Upvotes: 0

Charles Stover
Charles Stover

Reputation: 1148

The C should be capitalized in onChange.

Upvotes: 1

Related Questions