对不起,请让我编辑我的问题:
我有定义的复选框:
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)\">"
但那不起作用......
有什么想法吗?
答案 0 :(得分:1)
$(...).addEvents
是MooTools feature。我怀疑你正在加载两个库,这是一个问题,因为MooTools和jQuery都声称$
全局变量。
要将jQuery绑定到其他全局并将$
返回MooTools,请使用$.noConflict
。
var jQ = $.noConflict();
jQ(':checkbox:checked').each(...); // jQuery feature
$(...).addEvents(); // MooTools feature