从自定义弹出窗口返回输入

时间:2017-08-17 23:26:57

标签: javascript

我目前正在开发一个自定义模式弹出窗口实体。当我需要来自用户的文本值时,我将HTML元素显示为可见,然后当他们按下"输入"时,我需要获取他们在文本字段中输入的值。按钮。

问题在于,我尝试做的事情似乎并不容易实现。如果没有Promises,我认为这是不可能的,到目前为止所有尝试都没有奏效。关于可能解决方案的任何想法?

1 个答案:

答案 0 :(得分:0)

原来我设法自己搞定了。我曾经假设承诺在它到达代码结束时会以某种方式结束,但事实并非如此:只有在我手动解决它时它才会继续。因此,当我设置按钮的onclick时,只能解析它,它将等待按下按钮。请参阅下面的代码示例:

var modalPopup() = function() {
  //Display the popup
  document.getElementById("GeneralModalBackground").style.display = "flex";

  return new Promise(function(resolve, reject) {
    document.getElementById("GeneralSubmitButton").onclick = function() {
      //when clicked, resolve the promise with the inputted value
      let returnVal = document.getElementById("GeneralTextField").value;
      resolve(returnVal);
    }
  });
}

modalPopup().then(function(textNeeded) {
  //do stuff I need to do
});