如何用jQuery UI对话框替换window.alert('')-合并两个脚本

时间:2019-02-02 20:37:35

标签: javascript jquery jquery-ui jquery-ui-dialog

我正在寻找一些合并两个jquery脚本的帮助。随附的两个示例均使用基本功能,但是我没有足够的经验来将它们组合为一个脚本。我要实现的是附加代码B中的消息对话框将替换window.alert(str);。从编码A

我认为将需要重命名功能,但不知道如何复制/采用它。

请在下面找到随附的两个代码示例。

代码A

    public void ConfigureServices(IServiceCollection services)
    {
        services.Configure<CookiePolicyOptions>(options =>
        {
            // This lambda determines whether user consent for non-essential cookies is needed for a given request.
            options.CheckConsentNeeded = context => true;
            options.MinimumSameSitePolicy = SameSiteMode.None;
        });

        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

        services.AddAuthentication().AddGoogle(googleOptions =>
        {
            googleOptions.ClientId = "";
            googleOptions.ClientSecret = "";
        });
    }

代码B-我也想将其复制到Coda A中的jquery对话框。

export interface Message {
    title: string;
    body: ICommonGameCard[];
}

我在js / jquery方面的经验不超过2天,因此非常欢迎您提供帮助。

预先感谢...

3 个答案:

答案 0 :(得分:3)

我会考虑创建您自己的函数而不是alert()。请考虑以下内容:

function alertDiag(c, t){
  if(t == undefined){
    t = "Alert";
  }
  var diag = $("<div>", {
    title: t
  }).html("<p>" + c + "</p>").dialog({
    modal: true,
    buttons: {
      Ok: function() {
        window.location.href = "glowny.php?akcja=produkty";
      }
    }
  });
}

然后可以将window.alert(str)替换为alertDiag(str)。这将创建并启动对话框。既然你改变位置和装载了新的一页,关闭对话框是没有必要的。

alertDiag()将接受c作为HTML内容。 (可选)它将接受t作为标题。如果您要使用特定的标题,可以这样进行:

alert(str, "Usuwanie produktu");

如果未定义t,它将仅说“ Alert”。您可以将其更改为您喜欢的默认值。

更新

您还可以增加功能。请考虑以下内容:

function goto(url){
  if(url === undefined || url === false){
    return false;
  }
  window.location.href = url;
}

function alertDiag(c, t, u){
  if(t === undefined){
    t = "Alert";
  }
  if(u === undefined){
    u = false;
  }
  var diag = $("<div>", {
    title: t
  }).html("<p>" + c + "</p>").dialog({
    modal: true,
    buttons: {
      Ok: function(){
        goto(u);
      }
    }
  });
}

然后使用:

alertDiag(str, title, "glowny.php?akcja=produkty");

示例:https://jsfiddle.net/Twisty/pnowcdrg/

希望这会有所帮助。

答案 1 :(得分:0)

曲折提供理想的解决方案。下面的函数已被添加到该脚本:

function alertDiag(c, t){
  if(t == undefined){
    t = "Alert";
  }
  var diag = $("<div>", {
    title: t
  }).html("<p>" + c + "</p>").dialog({
    modal: true,
    buttons: {
      Ok: function() {
        window.location.href = "glowny.php?akcja=produkty";
      }
    }
  });
}

和该对话被称为已经从这个改变了:

window.alert(str);

对此:

alertDiag(str, "Usuwanie produktu");

非常感谢Twisty的帮助。

答案 2 :(得分:-3)

$(function(){
    $.getScript('http://code.jquery.com/jquery-1.8.3.js');
    $.getScript('http://code.jquery.com/ui/1.10.0/jquery-ui.js');
    window.alert = function (message) {
        $.getScript('http://code.jquery.com/jquery-1.8.3.js');
        $.getScript('http://code.jquery.com/ui/1.10.0/jquery-ui.js');
        var overlay = $('', {id:'overlay'});
        $('').html(message).dialog({
            modal: true,enter code here
            resizable: false,
            title: 'Alert!'
         });
    };
});