form.submit()在以下代码中不起作用

时间:2015-07-08 10:49:07

标签: javascript jquery

  

javascript不提交表单。点击警报是   调用,甚至检查对象,它不是null。但是   .submit()方法不提交表单。坚持了很久。

<script type="text/javascript">

$(document).ready(function(){
        $("label img").click(function(){
             alert("11");
            $("#" + $(this).parents("label").attr("for")).click();
               });
        $("input").change(uploadForm);
 });
</script>
<script type="text/javascript">
function uploadForm(){
    alert("1");
    document.getElementById('UploadFileFormId').submit();
}
</script>

<form id="UploadFileFormId" action="UploadFile" method="post"
                enctype="multipart/form-data"
                 style="width: 40px">
                 <label for="UploadFileId">
                 <img src="images/button_up_lo.png"
               onmouseover="this.src='images/button_up_hi.png'"
               onmouseout="this.src='images/button_up_lo.png'" />
                 </label>
                <span id="uploadSpanId" class="hidden">
                  <input type="file" 
                 name="UploadFileName"
                 id="UploadFileId"/>
                 <button type= "submit" id="uploadButtonId" name= "uploadButton" ></button> 
                  </span>
           </form>

2 个答案:

答案 0 :(得分:0)

  1. 尝试<input type="submit">
  2. 使用$('#uploadButtonId').submit();,因为您使用的是jQuery。
  3. 元素ID区分大小写(uploadButtonId vs UploadFileFormId

答案 1 :(得分:0)

将提交表单的uploadForm函数仅在控件的值更改时才会执行。这是你期待的吗?

请注意,在这种情况下,如果您选择一个文件,然后再次选择同一个文件,则不会触发onchange事件。