提交不工作?

sym*_*ean 9 javascript forms

我在要使用JavaScript提交的页面上有一个表单:

<script>
  function deleteFromlist(listname, listvalue)
  {
    if (confirm("Are you sure you want to delete this?")) {
       document.getElementById('fromList').value=listname;
       document.getElementById('deleteRecord').value=listvalue;
       document.getElementById('watchlistForm').submit(); // fails here
    }
  }
</script>
<form method='POST' 
   id='watchlistForm' 
   enctype='multipart/form-data' 
   action='process.php'> 
 <input type='text' name='fromList' id='fromList' value=''>
 <input type='text' name='deleteRecord' id='deleteRecord' value=''>
 <input type='submit' name='submit' value='submit'>
</form>
Run Code Online (Sandbox Code Playgroud)

javascript函数从href页面上其他位置的表中调用.它正确填充输入字段但失败并显示以下消息:

TypeError: document.getElementById(...).submit is not a function
     document.getElementById('watchlistForm').submit();
Run Code Online (Sandbox Code Playgroud)

如果我替换doc .... submit(); 同

alert(document.getElementById('watchlistForm').innerHTML
Run Code Online (Sandbox Code Playgroud)

然后我在警告框中得到预期的输出.于是

document.getElementById('watchlistForm') 
Run Code Online (Sandbox Code Playgroud)

确实解析为表单元素.

在表单上添加提交按钮按预期工作.

我不知道为什么这不起作用.

sym*_*ean 6

Erk,似乎名为 'submit' 的按钮掩盖了该方法.更改:

 input type='submit' name='submit' value='submit' 
Run Code Online (Sandbox Code Playgroud)

 input type='submit' name='submitButton' value='submit'
Run Code Online (Sandbox Code Playgroud)

解决了这个问题

  • 哦,哇,这是有道理的。我忘记了您可以通过表单本身按名称访问表单元素。 (2认同)