Javascript 未捕获引用错误:未定义变量
我有两个文本区域,从空值开始。 然后,当我用id“postrudo”填充第一个textarea时,我希望下一个textarea(id为“posthecho”)获得与第一个相同的值,并显示相同的值。类似于双向绑定,如AngularJS,但仅限于JavaScript和jQuery 这是JS:Javascript 未捕获引用错误:未定义变量,javascript,jquery,html,Javascript,Jquery,Html,我有两个文本区域,从空值开始。 然后,当我用id“postrudo”填充第一个textarea时,我希望下一个textarea(id为“posthecho”)获得与第一个相同的值,并显示相同的值。类似于双向绑定,如AngularJS,但仅限于JavaScript和jQuery 这是JS: <script type="text/javascript"> $(document).ready(function(){ $("#submit").click(function(){
<script type="text/javascript">
$(document).ready(function(){
$("#submit").click(function(){
$("#postcrudo").val(function(){
algo = this;
});
postHecho = postCrudo;
console.log("OK!");
});
});
</script>
$(文档).ready(函数(){
$(“#提交”)。单击(函数(){
$(“#postcrudo”).val(函数(){
algo=这个;
});
postHecho=postCrudo;
console.log(“OK!”);
});
});
这是HTML:
<body>
<div style="width:700px;float:left;">
<p>Post crudo:</p>
<p><textarea cols="100" maxlength="99999" name="postCrudo" id="postcrudo" rows="60"></textarea></p>
</div>
<div style="width:700px;float:left;">
<p>Post pasado:</p>
<p><textarea cols="100" maxlength="99999" name="postHecho" id="posthecho" rows="60"></textarea></p>
</div>
<div style="clear:both;"></div>
<p><input type="submit" value="submit" id="submit" /></p>
</body>
克鲁多之后:
后帕萨多:
Chrome控制台中的错误是:
未捕获引用错误:未定义postCrudo
您的元素id
postrudo
都是小写的<代码>postCrudo确实没有定义
这一行postHecho=postrudo代码>毫无意义,我认为您正在尝试这样做:
$('#posthecho').val($('#postcrudo').val())
没有postrudo
的声明,因此它是未定义的。还有,为什么您希望自己尝试使用AngularJS之类的工具来处理数据绑定呢。你基本上是在无缘无故地做更多的工作。此外,还必须手动处理双向数据绑定的所有方面。对我来说,有更聪明的方法可以做到这一点 JavaScript语法区分大小写
`postHecho = postCrudo;`
应该是:
`postHecho = postcrudo;`
这是你想要的吗
只需获取第一个textarea的值,然后将第二个textarea的值更改为:
$(document).ready(function(){
$("#submit").click(function(){
var postCrudoVal = $("#postcrudo").val();
$("#posthecho").val(postCrudoVal);
console.log("OK!");
});
});
无论是postHecho
还是postrudo
都没有声明(由您**),即使声明了,将其中一个指定给另一个也不会实现您想要的效果。您必须使用jQuery选择器(在本例中)将第一个textarea的值
分配给第二个textarea的值
,因为它们是引用DOM元素(textarea)的选择器
**具有id的元素默认设置为全局“变量”,但不应使用它们;相反,建议您使用DOM API查找元素或使用jQuery(在后台使用DOM API)。我没有看到变量postrudo
元素ID和jQuery选择器匹配的任何声明-这不是问题。jQuery部分没有问题。我和错误指的是postHecho=postrudo
你期望它做什么?我期望它失败,但不是因为你暗示的原因。您的第一行引用了不相关的元素ID。请参见上文。postrudo
也没有定义。谢谢大家的帮助。最后,我决定使用AngularJS来处理这个问题。双向数据绑定是我所需要的。