可以在JAVASCRIPT中扩展prompt()对象吗

可以在JAVASCRIPT中扩展prompt()对象吗,javascript,prompt,Javascript,Prompt,为了让问题更清楚 我想在JAVASCRIPT中重新实现prompt对象,因为我想同时从用户那里获得两个变量 如果可以扩展、重新实现或覆盖此对象,请告诉我如何扩展、重新实现或覆盖此对象。如果没有,您有更好的解决方案吗 谢谢。您应该使用 您需要在对话框所在的位置拆分javascript 所以如果你有 function getAndUseUserInfo() { bla1(); bla2(); var x = prompt("Gimme something for bla 3",""

为了让问题更清楚

我想在JAVASCRIPT中重新实现prompt对象,因为我想同时从用户那里获得两个变量

如果可以扩展、重新实现或覆盖此对象,请告诉我如何扩展、重新实现或覆盖此对象。如果没有,您有更好的解决方案吗


谢谢。

您应该使用

您需要在对话框所在的位置拆分javascript

所以如果你有

function getAndUseUserInfo() {
   bla1();
   bla2();
   var x = prompt("Gimme something for bla 3","");
   if (x) bla3(x); // this will not be executed until user closes prompt
}
你现在需要

function getUserInfo() {
  bla1();
  bla2();
  var x = "";
  $( "#dialog-form" ).dialog({
    autoOpen: false,
    height: 300,
    width: 350,
    modal: true,
    buttons: { 
      "OK": function() { x = $("#someIdFromtheForm").val(); $(this).dialog("close");}
      "CANCEL": function() { $(this).dialog("close");}
    }
    close: function() {
      if (x) bla3(x);
    }
  });
}
或者,如果您坚持要覆盖内置函数,您可以这样做(由于我没有使用html页面,因此当前会出现错误):

var orgpromt=window.prompt;
var varone,vartwo;
函数saveVars(doc){
varone=doc.getElementById(“x”).value;
vartwo=doc.getElementById(“y”).value
返回[varone,vartwo];
}
window.prompt=函数(一,二){
var html='

'+one+':
'+two+':
'; var res=showmodaldiallog('javascript:“+html+”,窗口,“dialogWidth:100px;dialogHeight:100px”); } x=提示('first name'、'last name') 警报(x)
您可以让它们使用分隔符分隔两个不同的值

var result = prompt('enter two values seperated by a comma').split(',');
alert('first value: ' + result[0]);
alert('second value: ' + result[1]);

您可以在javascript中重新定义大多数内容,包括窗口提示、警报和确认方法,但最好是定义方法并调用它,而不是调用本机对象。例如,定义“提示器”、“警报器”或“确认器”方法。

否,创建您自己的对话框:)这是如何工作的?
window.prompt
与jquery用户界面的关系如何?我认为覆盖
窗口不是一个好主意。提示符
。窗口提示符太大,我可以修复它吗?如果我能怎么做?完美:)如果你说我怎么能删除地址行,我会这么做appriciated@Exculuber:除非使用jQuery对话框或类似对话框,否则不可能。很抱歉,我已经尝试按照您的建议使用jQueryUI对话框。但是,它不会暂停javascript,但此解决方案会暂停。我怎样才能让对话框暂停并恢复javascript代码,直到用户做出反应。我不明白,你能不能给PromptHanks一个重新定义的例子,但这会影响可用性,因此我不喜欢这个
var result = prompt('enter two values seperated by a comma').split(',');
alert('first value: ' + result[0]);
alert('second value: ' + result[1]);