使用带有表单id中的短划线的javascript验证表单

时间:2011-02-23 08:14:39

标签: javascript forms validation

我有一个表单,我希望在提交之前使用javascript进行验证。我正在尝试添加一个上传文件的文件,其id值为破折号,例如id =“file-upload”。这不起作用,但如果我从id中删除破折号...警报工作正常..

这是javascript代码

<script type="text/javascript">function check(form) { if(form.file-upload.value===""){alert("Please select a file to upload !");form.file-upload.focus();return (false);} } </script>

,这是表格

<form method="post" action="" onSubmit="return check(this)" enctype="multipart/form-data">
     <label>Upload Image:<span class="asterixRequired">*</span></label>
    <fieldset><input type="file" id="file-upload" name="file-upload"></fieldset> 
                                   </form>

3 个答案:

答案 0 :(得分:1)

按ID查找元素的标准方法是.getElementById()

document.getElementById("file-upload").focus();

答案 1 :(得分:0)

查看Javascript and CSS, using dashes以及此问题/解决方案:
http://www.aspmessageboard.com/showthread.php?t=125142

显然JavaScript存在破折号问题,因此您可能必须使用左document.forms['formname'].elements['field-with-dashes'].value
(来自上述链接)来解决此问题。

答案 2 :(得分:0)

为什么不尝试验证jQuery插件? 看看这里:

http://bassistance.de/jquery-plugins/jquery-plugin-validation/