Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
textarea和javascript_Javascript - Fatal编程技术网

textarea和javascript

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文件时设置文本。。。我在做这样的事情:

<?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();">