Php 在javascript中使用HTML选择标记名

Php 在javascript中使用HTML选择标记名,php,javascript,html,Php,Javascript,Html,我在标记名中使用了一个数组: <?php echo "<td><select name='search[$field]'></select>" ?> 为select元素提供一个id,并使用它引用元素: <?php echo "<td><select name='search[$field]' id='mySelect'></select>" ?> <script> va

我在标记名中使用了一个数组:

<?php 

  echo "<td><select name='search[$field]'></select>"

?>

为select元素提供一个id,并使用它引用元素:

<?php 
  echo "<td><select name='search[$field]' id='mySelect'></select>"
?>

<script>
var select =  document.getElementById('mySelect');

如果表单控件的名称不是有效标识符,请使用方括号表示法:

document.formname.elements['search[$field]'].options.length = 0;
请注意,完整、正式的方法是:

document.forms['formName'].elements['elementName'].options.length = 0;
但是,每个都是其“父项”的命名属性,因此,如果名称都是有效标识符:

document.formName.elementName;
有效,但在不起作用的地方:

document['formName']['elementName'];
我会成功的。在变量中包含名称时,也使用方括号:

var fn = 'form[Name]';
可以用作:

var theForm = document[fn];

试试这个

<script language="javascript" type="text/javascript">

document.formname.search[<?php echo $field; ?>].options.length = 0;

</script>

document.formname.search[].options.length=0;

$field
是一个PHP求值变量,而不是字符串!只是反映了OP的代码。如果发布了服务器sdie代码,答案可能会反映这一点。无论如何,这与答案无关,“[”和“]”字符在javascript标识符中是非法的,因此必须与方括号符号一起使用,“$”字符不是。表单控件必须有名称才能成功,否则它们不会随表单一起提交。但您不需要id,您可以使用元素必须已经具有的名称来选择元素。如果必须有名称,则将名称和id设置为相同的值会方便得多。
document.formname['search[$field]]].options.length=0
ya知道,
language=“javascript”
已经有近10年没有被要求使用了。。你可以看看你的教程的年代或质量。语言属性从HTML4开始就被弃用了,所以是的,值得删除。
var theForm = document[fn];
var theForm = document.forms[fn];
<script language="javascript" type="text/javascript">

document.formname.search[<?php echo $field; ?>].options.length = 0;

</script>