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

时间:2011-03-30 08:18:07

标签: javascript

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

2 个答案:

答案 0 :(得分:3)

您可以定义一个javascript函数,它将检查是否所有控件都已填充,然后是否完成了添加新行的要求。

例如:

function example()
{
  if(controls filled)
add a new row;
}

然后

<button type="button" onclick="example()">Click Me!</button>

答案 1 :(得分:0)

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

  1. 您可以在函数定义中使用按钮的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”处理程序。

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

    function validatedOnClick(e) {
        if(validateLastRow(e)) {
             return originalClickHandler(e);
        }
        return false;
    }
    
相关问题