textarea和javascript
我试图在加载php文件时设置文本。。。我在做这样的事情:textarea和javascript,javascript,Javascript,我试图在加载php文件时设置文本。。。我在做这样的事情: <?php echo tep_draw_textarea_field('enquiry', 'soft', 50, 15); ?> <?php echo "<script> var a = document.getElementsByName('enquiry'); a.value='Pedido de Informação de Preço, relativamente ao producto: ht
<?php echo tep_draw_textarea_field('enquiry', 'soft', 50, 15); ?>
<?php
echo "<script>
var a = document.getElementsByName('enquiry');
a.value='Pedido de Informação de Preço, relativamente ao producto: http://www.musicland.pt/musicstore/product_info.php?products_id=2581';
</script>"; ?>
getElementsByTagName
返回活动节点列表。如果元素具有ID,请使用getElementById
。如果要对节点列表中的多个元素执行此操作,请使用for
循环
var a = document.getElementById('enquiry');
getElementsByName()
返回具有指定名称的所有元素的数组。如果文本区域是页面上第一个名为“inquiry”的元素,则可以添加[0]
以从数组中选择它。其次,永远不要使用单字符变量名。他们更难理解和合作。这是一个更具可读性的代码版本,应该可以工作:
var enquiryTextArea = document.getElementsByName('enquiry')[0];
a.value="blah blah blah";
inquirytextarea
准确地告诉您变量的含义。这是查询文本字段本身。不是数组。如果您关心代码大小,那么可以使用javascript缩小器
更好的是,您可以使用,因为name属性在与表单无关的标记上不受欢迎,并且在选择一个特定元素时效果更好:
var enquiryTextArea = document.getElementById('enquiry');
a.value="blah blah blah";
这听起来很典型,但在诊断此类问题时,以及在使用javascript做任何事情时,都会有很大帮助D使用:
var a = document.getElementsByName('enquiry')[0];
它应该会起作用。
但我同意梅德尔的评论。如果您有多个同名的textarea,并且您想更改所有的textarea,则应将其放入for循环中,如下所示:
var a = document.getElementsByName('enquiry');
for( var i=0; i<a.length; i++)
a[i].value = "Some Text";
var a=document.getElementsByName(“查询”);
对于(var i=0;i
在页面加载之前为空
在标记中,放置一个onLoad事件,并使代码成为onLoad调用的函数
echo "<script>
function foo() {
var a = document.getElementsByName('enquiry');
a.value='Pedido de Informação de Preço, relativamente ao producto: http://www.musicland.pt/musicstore/product_info.php?products_id=2581';
}
</script>";
echo”
函数foo(){
var a=document.getElementsByName(“查询”);
a、 value='Pedido de Informação de Preço,相对产品:http://www.musicland.pt/musicstore/product_info.php?products_id=2581';
}
";
然后在body标签中:
<body onLoad="foo();">
在当前代码中,假设您只有(或想要访问)一个文本区域,您可以使用a[0].value
而不是a.value
如果我们可以查看生成的HTML,这会更好。
<body onLoad="foo();">