2011-10-18 10 views
1

私はJavaScriptを使用して提出しようとしています。私は "document.forms"を使用して見つけることができませんでしたので、 "document.getElementById"を使用しましたが、今はアクションクラスを割り当てることができません。javascriptを使用してstruts1に提出するフォーム

マイコード:

<html> 

<head> 
just to check javascript form submission 
</head> 

<body> 

<script> 

function formsubmission(value){ 
alert("i am here just before the form submission"+value); 
document.forms["ashutosh"].submit(); 
alert("i am just after the form submission"); 
} 

</script> 

<form id="ashutosh" action="http://www.gmail.com"> 
<select onchange="javascript:formsubmission(this.formName)"> 
<option value="1">ashutosh</option> 
<option value="2">ashutosh1</option> 
<option value="3">ashutosh2</option> 
</select> 
</form> 
</body> 


</html> 

エラー:

Object #<HTMLElement> has no method 'submit' 

答えて

3

はるかに簡単:

<html> 
    <head></head> 
    <body> 
     <form action="http://www.example.com"> 
      <select onchange="this.form.submit()"> 
       <option value="1">ashutosh</option> 
       <option value="2">ashutosh1</option> 
       <option value="3">ashutosh2</option> 
      </select> 
     </form> 
    </body> 
</html> 

デモ:http://jsfiddle.net/mattball/N4fxn/

1

最初のエラー、これは存在しません:

this.formName 

"this"はフォームではなくselectタグを指します。this.formはフォームを参照します。

あなたは、フォームの名前を取得しようとしているように思え、

は、あなたが持っているときに、フォームのオブジェクト.nameのプロパティではなく、唯一のname属性が定義されていることを得る

<form id="something" name="something"> 
関連する問題