使用Javascript提交表单

fly*_*sun 2 javascript submit

我觉得不得不问这个办公桌真的很傻但是我不知道为什么这个代码不起作用它真的很简单叹息

当我从任一下拉列表中选择并且表单未提交时,我收到以下JavaScript错误.

未捕获的TypeError:对象#的属性'submit'不是函数

<form action="categories/view/52" method="post" accept-charset="utf-8" id="myform" name="myform"> 
<select name="sort" ID="sort_type" onchange='document.forms["myform"].submit();'>   
  <option value="label">Sort</option> 
  <option value="price-low-high">Price: Low - High</option> 
  <option value="price-high-low" selected="selected">Price: High - Low</option> 
  <option value="name-a-z">Name A - Z</option> 
  <option value="name-z-a">Name Z - A</option> 
  <option value="date-added-new">Date Added - New</option>  
  <option value="date-added-old">Date Added - Old</option> 
</select> 
<select name="limit" ID="sort_type" onchange='document.forms["myform"].submit();'>   
  <option value="items_3" selected="selected">3</option> 
  <option value="items_50">50</option> 
  <option value="items_100">100</option> 
  <option value="items_all">all</option> 
</select> 
<input type="submit" name="submit" value="submit"  />
</form> 
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 5

既然你有:

<input type="submit" name="submit" value="submit"  />
Run Code Online (Sandbox Code Playgroud)

提交函数已被HTMLElementNode破坏.

简单的解决方案是重命名它,或删除名称.

<input type="submit" value="submit"  />
Run Code Online (Sandbox Code Playgroud)

如果您无法重命名它(因为您的服务器端代码取决于提交的值而您无法更改服务器端代码),那么您可以:

document.createElement('form').submit.call(document.forms["myform"]);
Run Code Online (Sandbox Code Playgroud)