使用' onclick'调用Javascript函数

时间:2016-05-13 18:20:15

标签: javascript jquery html

对不起,请让我编辑我的问题:

我有定义的复选框:

echo "<td>"
    echo "<input type = \"checkbox\" name=\"name\" value=\"$name\">";
    echo "<input type = \"hidden\" name=\"user\" value=\"$user\">"; 
echo "</td>"

和提交按钮:

echo "<input type=\"button\" value=\"Submit\" id=\"submit\" onclick=\"get_checked(form)\">";

这是我的javascript函数:

jQuery.noConflict();
        (function($){
            function get_checked(form){
                var formData = {};
                var match = false;

                var testname_checked = new Array();                
                $(':checkbox:checked').each(function(i){
                    testname_checked[i] = $(this).val();
                });
                if (confirm("You are requesting dumps for the following tests: \\n" + testname_checked.join('\\n') + "\\nPress \'Ok\' to confirm or \'Cancel\' to exit")){
                    $(form).find("input[name]").each(function (index, node){
                        formData[node.name] = node.value;
                        if (node.name == "user"){
                            var j = 0;
                            while (testname_checked[j]){
                                if (formData['testname'] == testname_checked[j]){
                                    //alert (formData['testname'] + formData['seed'] + formData['project']);
                                    $.post("http://ltipc197:4567",{testname: formData['testname'], seed: formData['seed'], project: formData['project'], changelist: formData['changelist'], suite: formData['suite'], user: formData['user'] } )
                                }
                                j = j + 1;
                            }
                        } 
                    }).get();
                }

            }
        })(jQuery);

正如您所看到的,我的功能被包含在&#39; noConflict&#39;功能。但是,当我按下提交按钮时,我收到以下错误:未捕获的ReferenceError:未定义get_checked。这只发生在我将函数包装在noConflict标记内时。我无法删除此标记,因为我在脚本的其他部分使用mootools。我在网上搜索并尝试了以下内容:

var noConflict = (function($){...} 

然后我将我的按钮更改为:

echo "<input type=\"button\" value=\"Submit\" id=\"submit\" onclick=\"noConflict.get_checked(form)\">"

但那不起作用......

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

$(...).addEventsMooTools feature。我怀疑你正在加载两个库,这是一个问题,因为MooTools和jQuery都声称$全局变量。

要将jQuery绑定到其他全局并将$返回MooTools,请使用$.noConflict

var jQ = $.noConflict();
jQ(':checkbox:checked').each(...);  // jQuery feature
$(...).addEvents();  // MooTools feature