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>