• ベストアンサー

リンクを押すとフォームを送信

リンクを押すとフォームを送信したいので、 <a href="JavaScript:document.form1.submit()"・・・ というふうに、書いたのですが、 リンクのみだとちゃんと動くのですが、 同一フォーム内にボタンとリンクが混在するとJavaScriptエラーが発生してしまします。どうしたらいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • o84
  • ベストアンサー率31% (128/407)
回答No.4

あ、何が悪いのか判りました! 「name="submit"」 が悪さしてます。 これがあると   JavaScript:document.form1.submit(); のsubmitが、formのsubmitメソッドなのか、 それともformの部品の名前なのか、 判別がつかないのです。それでエラーになっているのです。 submitボタンの名前を他の名前に変えてください。

mikmik_a
質問者

お礼

NAMEを変えるとうまくいきました! こんなとこに落とし穴があるとは思わなかったです。 ありがとうございました!

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • o84
  • ベストアンサー率31% (128/407)
回答No.3

付け加えますと、   ボタンとリンクが混在するから⇒エラー なのではなく、リンクを先に書いて、後でボタンを書き加えた のだとしたら、その時にどこかに構文の間違いが紛れ込んだ。 というわけです。 大文字小文字の間違いはよくありますし、 ちょっとしたスペルミスとかも、気付きにくいですね。

mikmik_a
質問者

補足

ソースを抜粋しますと、 ・・・・ <form name="form1" method="post" action="/XXX"> ・・・・ <input type="submit" name="submit" value="検索" width="4"> ・・・・ <a href="JavaScript:document.form1.submit()">○○</a> ・・・ </form> といった感じです。 ちなみに、ボタンの方は、ちゃんと動きます。 あと、ためしに、ボタンの部分を削除するとリンクのsubmitがうまくいきました。

すると、全ての回答が全文表示されます。
  • o84
  • ベストアンサー率31% (128/407)
回答No.2

「エラー:オブジェクトでサポートされていないプロパティまたはメソッドです。」 ですか。 それはmikmik_aさんの書かれたjavaScriptが間違っているのです。 ソースが見れればすぐ何が悪いのか判るのですが、 多分、小文字で書かなければならないものを大文字で書いている のだと思われます。 javaScriptでは大文字と小文字を別物として区別しますから。 たとえばdocument.form1.「S」ubmitなんて書いてないですか?

すると、全ての回答が全文表示されます。
  • o84
  • ベストアンサー率31% (128/407)
回答No.1

どんなjavaScriptエラーが発生するのでしょう? それを見せないと、みんな何が悪いのか判りませんよ。

mikmik_a
質問者

補足

JavaScriptエラーとしては、 エラー:オブジェクトでサポートされていないプロパティまたはメソッドです。」というエラーが出ます。

すると、全ての回答が全文表示されます。

関連するQ&A