Wil*_*ase 1 html javascript php
所以,我有一个记录评论的表格的textarea.我试图在输入时将输入评论的用户的身份附加到评论的末尾.
以下是检查用户会话并获取用户名称的PHP:
<?php
//getting username - displays John Doe
$user = Mage::getSingleton('admin/session');
$firstname = $user->getUser()->getFirstname();
$lastname = $user->getUser()->getLastname();
$append = " [name](by ".$firstname." ".$lastname.")[/name]";
?>
Run Code Online (Sandbox Code Playgroud)
应该附加到blur上的值的JavaScript:
<script>
function addedcomment(){
var commentby = document.getElementById("#history_comment").value;
var commentby = commentby + '<?php echo $append; ?>';
document.getElementById('#history_comment').value = commentby;
}
</script>
Run Code Online (Sandbox Code Playgroud)
输入评论的文本区域:
<textarea name="history[comment]" rows="3" cols="5" style="height:6em; width:99%;" id="history_comment" onBlur="addedcomment()"></textarea>
Run Code Online (Sandbox Code Playgroud)
代码完全按照此处显示的顺序和方式显示在页面上,因此PHP在JavaScript出现之前设置$ append的值.我在dom控制台中遇到三个错误:
Uncaught TypeError: Cannot read property 'value' of null
addedcomment
onblur
Run Code Online (Sandbox Code Playgroud)
我正在使用的CMS与Prototype一起使用,因此即使在noConflict模式下,jQuery也不会一直工作(似乎它被选择性地调用).
我尝试过的事情:
Putting the JS below the textarea.
onblur vs onBlur
jQuery solution
Run Code Online (Sandbox Code Playgroud)
这是因为您要添加一个不需要的" #"符号.document.getElementById()只需要元素id(history_comment)的名称.该错误基本上告诉您它无法获取value不存在的属性,即id为" #history_comment" 的元素.
你不需要一个jQuery解决方案,除了拼写错误之外你在这里没什么问题.