Javascript 如何在按钮单击事件上调用java脚本,该事件处理添加新行的事件?

Javascript 如何在按钮单击事件上调用java脚本,该事件处理添加新行的事件?,javascript,Javascript,我有一个按钮,在按钮点击事件中在网格视图中添加新行。一行包含两个文本框和两个下拉列表。但在添加新行之前,我想检查第一行中的所有控件是否都已填充。因此,我想在按钮点击事件中调用java脚本。那么,如何调用已经在网格视图中处理事件新行的按钮上的java脚本呢?您可以定义一个javascript函数,该函数将检查是否已填充所有控件,然后检查是否满足添加新行的要求 例: 然后 点击我! 您可以定义一个javascript函数,该函数将检查是否已填充所有控件,然后检查是否满足添加新行的要求 例: 然后 点

我有一个按钮,在按钮点击事件中在网格视图中添加新行。一行包含两个文本框和两个下拉列表。但在添加新行之前,我想检查第一行中的所有控件是否都已填充。因此,我想在按钮点击事件中调用java脚本。那么,如何调用已经在网格视图中处理事件新行的按钮上的java脚本呢?

您可以定义一个javascript函数,该函数将检查是否已填充所有控件,然后检查是否满足添加新行的要求

例:

然后

点击我!

您可以定义一个javascript函数,该函数将检查是否已填充所有控件,然后检查是否满足添加新行的要求

例:

然后

点击我!

解决方案是将呼叫链接起来。有两种方法可以做到这一点:

  • 您可以在函数定义中使用按钮的
    onclick
    属性:

    function chainOnClick(button, func) {
        var origFunc = button.onclick;
        var tmp = function(e) {
            if(func(e)) {
                 return origFunc(e);
            }
            return false;
        }
        button.onclick = tmp;
    }
    
    注意,如果没有安装
    onclick
    ,我发现这是不可靠的;由于某些原因,该模式不能与浏览器的默认“onclick”处理程序一起使用

  • 您可以将处理单击的代码移动到一个函数中(您可能已经有了这个函数)。现在编写验证函数并安装此新的单击处理程序:

    function validatedOnClick(e) {
        if(validateLastRow(e)) {
             return originalClickHandler(e);
        }
        return false;
    }
    

  • 解决办法是把电话连成链。有两种方法可以做到这一点:

  • 您可以在函数定义中使用按钮的
    onclick
    属性:

    function chainOnClick(button, func) {
        var origFunc = button.onclick;
        var tmp = function(e) {
            if(func(e)) {
                 return origFunc(e);
            }
            return false;
        }
        button.onclick = tmp;
    }
    
    注意,如果没有安装
    onclick
    ,我发现这是不可靠的;由于某些原因,该模式不能与浏览器的默认“onclick”处理程序一起使用

  • 您可以将处理单击的代码移动到一个函数中(您可能已经有了这个函数)。现在编写验证函数并安装此新的单击处理程序:

    function validatedOnClick(e) {
        if(validateLastRow(e)) {
             return originalClickHandler(e);
        }
        return false;
    }
    

  • 请把你的密码也贴出来。你是说要将两个事件处理程序绑定到按钮上吗?请发布你的html和任何当前javascript以澄清你的问题。请发布你的代码。你是说你想把两个事件处理程序绑定到按钮上吗?请发布你的html和任何当前的javascript来澄清你的问题。我不能帮你“不能理解”。请问一些具体的问题。我不能帮你“听不懂”。请提出具体问题。