• ベストアンサー

送信ボタンをbuttonに変えてonclickでsubmitがうまくいきません

宜しく御願いします。 enterキーでの誤送信を防ごうと過去ログをみてそのとおりにフォームのsubmitをfalseで返し、送信ボタンをbuttonにかえてタイトルのようにjavascriptで送信しようとしたのですが「ページでエラーが発生しました」と画面下のステータスバー(?)に表示され、うまくいきません。どなたか御教授ください。ちなみにページはPHPで書いており、フレームを使用しております。 若しくは別の方法でenterキー入力を回避できる方法があれば教えてください。(onfocus以外で)

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

#2です しつれいしました。1点見逃してました buttonの名前に「submit」はつかえません。 「submit1」とか適当な名前にしてみてください

hamaddux
質問者

補足

ありがとうございます!!解決しました。 しかしながら新たな問題が発生しました。 これまでは併設していた別の送信ボタンから得る値($_POST[sp_submit])で条件分岐していたものが、 buttonに変えた事で取得できなくなりました。ボタンをクリックすれば値を送れるコマンドがありましたら教えて頂けないでしょうか。

その他の回答 (4)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.5

#3のつづき >($_POST[sp_submit])で条件分岐していたものが、 >buttonに変えた事で取得できなくなりました。 普通に <input type=hidden name=sp_submit value=true> とか設定しておけばすればよろしいのでは?

hamaddux
質問者

お礼

いろいろやるうちに何とか解決できました。 どうもありがとうございました。

hamaddux
質問者

補足

何度も有難うございます。 隠してしまうと必ずその値が送信されてしまいますよね? sp_submitをクリックした時のみその処理を行いたいのですが・・・。可能でしょうか?

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

onclick=\"submit();\" を onclick=\"document.form1.submit();\" にしてみるとか

hamaddux
質問者

お礼

回答どうも有難うございます。 ボタンの名前を変更する事で無事解決しました。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

onClick="this.form.submit()" としてください。

hamaddux
質問者

お礼

回答有難うございます。 早速試しましたが結果は同じでうまくいきませんでした。

  • akanekor
  • ベストアンサー率52% (102/194)
回答No.1

ページのエラーなら、(IE6なら)左下の方、クリックすると 何行目でエラーが出たか記述されますよ。 後、たぶん、javascriptとのエラーだと思いますから、 javascript+htmlのソース(対象箇所だけでも)載せないと、 原因を答えられる人 居ないと思いますよ。

hamaddux
質問者

補足

回答どうもありがとうございます。 失礼しました。 対象箇所のソースは以下の通りです。 フォーム開始:echo "<form method=POST name=\"form1\" action=ex1.php onsubmit=\"return false;\">"; 送信ボタン:echo "<input type=button name=submit value=\"確認\" onclick=\"submit();\" エラー内容は「オブジェクトでサポートされていないプロパティまたはメソッド」だそうなんですが・・・。どこなんでしょう?分かりません。とりあえずいろいろやってみます。

関連するQ&A

  • submitではなくbuttonで送信

    事情があり、submitではなくbuttonでフォームのデータを送信したいのですが、以下のように書くとbuttonでは4567が送信されません。 <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="submit" name="bbb" value="4567"> </form> ↓ <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="button" name="bbb" value="4567" onclick="submit();" > </form> submitと同じように、bbbのデータ4567も送信するにはどのように書けばよいのでしょうか? 宜しくお願いします。

  • submitボタンのアラートを閉じても送信されてしまう

    初歩的な質問で恐縮です。 PHPでメールフォームを作っています。 submitを押した時に「送信してよろしいですか?」というアラートを出しているのですが、このアラートを閉じても(右上の「×」を押しても)送信されてしまいます。 ユーザーがやっぱり送信をやめたくても、submitを押してしまったら回避できないという状況です。 運用が迫っているため急ぎですが、ご教授いただけないでしょうか。 ボタンのソースはこちらです。 なお、<form>にonSubmitで記述した場合も同じでした。 <input type="submit" onClick="javascript:alert('こちらの内容で送信します。よろしいですか?')" value=" 送 信 "> ちなみに、内容チェックは送信されてから行っていますので、ここでは単純にアラートを出すだけです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • IEでのフォームメールで、ENTERキーでのsubmitを動かさないようにしたいのですが。。

    IEでフォームメールを使用したときにENTERキーを押下するとsubmitが動いてしまうのですが、その動きを止める為に 1.送信ボタンは   <input type="button" name="submit" value=" 送信する " onClick="subm()"> で関数subm()で function subm() { document.form1.submit(); } という動きと 2.送信ボタンに<input type="button" name="submit" value=" 送信する " onClick="javascript:document.form1.submit()"> という動きの2つを試してみたのですが、どちらもエラーになってしまいました。 原因がわからないので調べているところですが、もしどなたか他の方法をご存知でしたら、教えていただけませんでしょうか?

  • button使用で送信確認後のsubmit

    JavaScript初心者です。 リターンを押したときsubmitされてしまうのを防ぐ為に、 送信ボタンをinput type="submit"から"button"に変更し、 confirmで送信の確認をしてOKだったときにsubmit・・・ というものを作りたいのですが、うまくいきません。 ネットで検索などするとform内にsubmitと名前がついたものがあるとうまく動かない という例をみかけましたが、それには当てはまりません。 何か問題があるのでしょうか。 もしわかるかたがいましたら、教えていただけたら助かります。 どうぞよろしくお願い致します。 (ちなみにsmartyを使っています) ■送信確認の部分  function formalert(){  if(window.confirm(送信してもよろしいですか?)){    document.getElementById('index').submit();    return true;  }else{    window.alert('canceled');    return false;  } } ■フォームタグ  <form id="index" name="index" action="index.php?=thanks#page" method="POST"> ■ボタン部分(ダミーのボタンを表示してあり必須項目を記入すると送信できるボタンを表示する。) <input type="button" class="button wide green" id="btn_dammy" onclick="chkHissu(),nameerror(),mailerror();"> <input type="button" class="button wide green" id="btn01" style="display:none" name="btn01" value="{$btn01.1}" onclick="return formalert();"> ■ノンジャバ用ボタン(関わりあるかもしれないので記載します。表示切替しています。) <noscript> <input type="submit" class="button wide green" id="btn01" name="btn01" value="{$btn01.1}" onclick="formalert()" > </noscript>

  • 違うフレームにあるフォームをsubmit(送信)

    JavaScriptかPHPかでも質問なのですが、Mainフレームには送信ボタンはありませんし、出来ない(しない)ものとします。 かわりにSubフレームが読み込まれたときにJavascriptでMainフレームのMainFormフォームをSubmitさせるような記述は出来ますでしょうか? その後PHPの変数でデータを操作しようと思っているのですが、PHPでデータを受け取れません。 要は、Javascriptを使わなくてもいいのですが、PHPで他のフレームにあるフォーム内のデータを受け取りたいのです。 どなたか助けてください。 ★★★★★★★★★Mainフレーム★★★★★★★★★ <form name="MainForm" action="Sub.php" target="Sub" method="post"> <input name="ABC" type="text"> </form> ★★★★★★★★★Subフレーム★★★★★★★★★★ -----JavaScript部------- parent.Main.document.MainForm.submit(); -----PHP部------- <?php extract($_POST); global $ABC; echo $ABC; ?>

    • ベストアンサー
    • PHP
  • フォームでEnterを押してもsubmitさせない

    現在製作中のサイトで、ajaxで処理を行うため、フォームでEnterキーを押しても通常のsubmitをさせずに、別途処理を関数で呼び出すようにしています(下記参照)。 チェックしたほとんどのブラウザでは思い通りの動作なのですが、IE8(他のIEは未テスト)で、同じページに別のフォーム(こちらのフォームはEnterでsubmitさせています)があるページのみ、submitされてしまいます。(ajax_submit()も実行されます) 小さな可能性でもかまいません。お心当たりがございましたらお助けください。 ▼HTML <form method="get" action="">  <input id="s" type="text" value="" onKeyPress="return submitStop(event);" />  <p id="search_sbm" onclick="ajax_submit();">検索</p> </form> ▼JavaScript function submitStop(e){  if (!e) var e = window.event;  if(e.keyCode == 13) {   ajax_submit();   return false;  } }

  • onClick="this.form.submit

    ・下記のようなformがあるのですが、 onClick="this.form.submit();" disabledの意味を教えてください ・クリックしたら、このフォーム内容を送信? ・アクション先も指定していないのに、処理はどこへいくのでしょうか? ・また、disabledは? ずっと押せない? <form name="hoge" method="POST"> <input name="hoge" type="button" class="button" value="piyo" onClick="this.form.submit();" disabled> </form>

  • onClickとsubmitの処理順序

    #過去ログをあたりましたが、自分で納得いく解答がなかったので質問します。 フォームのsubmitボタンにonClickでチェッカーなどの関数を与えた場合、 submitでフォーム内容を送信するのと、onClickで指定されている関数の どちらが先に処理されるのでしょうか。 (一応、WindowsのIE、ネスケ共々、onClickの処理の後、submitされるようではあります) function tasikame { (フォームの内容チェック/中略) alert("入力されていない項目があります") } 例えば、このような関数をonClickで起動する場合、フォームに入力されていない 項目があると、警告されます。 この時、submitはどの環境でも起動しないで終わるのでしょうか。 それとも警告が起動した後、フォーム内容はsubmitされてしまうのでしょうか。 #分かりづらければ、補足しますのでどうぞよろしく。

  • onclickイベントでの二重送信防止に関して

    onclickイベントでフォームの二重送信の防止をしたいと考えています。 <input "type="submit">が一つしかないページでは、 <input "type="submit" onclick="this.disabled=true;this.value='送信中';this.form.submit();" value="送信"> でうまくいったのですが、 2つ以上あるページだと、クリックすると空白のページに飛んでしまい、フォームが送信できませんでした。 どのようにすれば、<input "type="submit">が2つ以上あるページでも、この方法で二重送信防止を作動させることができるでしょうか。 ご教授よろしくお願いいたします。

  • SUBMITボタンを表示させないでSUBMITを実行する方法

    通常HTMLのFORMはSUBMITボタンを表示させ、 1.ボタンを押す 2.FORM内でENTERキーを押す の2つにわかれますが、1のボタン自体を表示 させないでENTERキーだけでSUBMITをかけると いう方法はないでしょうか?? よろしくお願いします。

    • ベストアンサー
    • HTML

専門家に質問してみよう