好的,所以我有点疯了。我正在尝试做一个我过去曾多次管理的简单事情,那就是通过简单的onClick属性通过jquery .get函数发送数据。
我已经检查过jquery.js文件是通过firebug的“net”面板正确加载的,我已经尝试从标签内加载jquery脚本,也就是在标签之前;总是使用$(document).ready(function(){}包裹脚本。
我只是不知道还有什么可以检查以找到错误。
错误列在firebug的控制台中,因为“....未定义”
下面你可以找到我正在使用的代码,任何帮助都会很棒;我希望我只是愚蠢而错过了一个;什么的。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
function productString(product) {
$.get("http://<? echo ROOT; ?>includes/forms.php", { product: product }, function(data) {
//$('#popup-content').html(data);
alert('Load was performed.');
});
}
});
</script>
</head>
<body>
<form>
<input type="radio" value="tester" onClick="productString(this.value)">
<label>Test 1</label>
</form>
<a href="#" name="test" onClick="productString('tester2')">This is a test</a>
</body>
提前感谢任何帮助社区。 p>
答案 0 :(得分:2)
这不起作用的原因是productString存在于您传递给$(document).ready
的匿名函数定义的命名空间中。当浏览器作用于onclick时,它正在全局命名空间中查找该函数,因此找不到它。由于该函数不依赖于已经处理的任何DOM,因此您无需将其包装在$(document).ready
中。
答案 1 :(得分:1)
试试这个。
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.js"></script>
<script type="text/javascript">
function productString(prod) {
$.get("http://<? echo ROOT; ?>includes/forms.php", { product: prod }, function(data) {
//$('#popup-content').html(data);
alert('Load was performed.');
});
}
</script>
如果prod
是字符串。
<强>更新强>
请注意,我做了三处更改。
document.ready
包装,因为它完全没有意义。prod
你做过这些吗?