formの送信ボタンをテキストにしたい方法

このQ&Aのポイント
  • formの送信ボタンをテキストにする方法について教えてください。
  • 現在、formの送信ボタンをテキストにする方法がわかりません。どのような方法があるのでしょうか?
  • formの送信ボタンをテキストにするためには、JavaScriptを使う必要があるのでしょうか?
回答を見る
  • ベストアンサー

formの送信ボタンをテキストにしたい・・・。

タイトル通りなのですが、formの送信ボタンをテキストにしたいと思い、下記ページを見つけ試してみました。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1213552117 ペストアンサーの方の方法で、リンクされていたページのソースも見てみたのですがボタンとしての機能を果たさずクリックしてもページ遷移せず、カーソルの変更(矢印から指マーク)もしませんでした。 ソースを見る限り、JavaScriptを別途記述しているわけでもないようです。 記述したソース(form部分)はこれです。 HTMLべたうちではなく、PHPでソースを生成しています。 <form action='./aaa/bbb/ccc.php' method='POST' name='abc' id='abc'> <input type='hidden' name='flg' value='1' /> <span onclick='submit()'>メイン</span> </form> どの部分がおかしいなど指摘してもらえないでしょうか? また、別の方法で<span>部分を<a>にしてタグの中にJavaScriptでsubmit()を記述する方法も試してみたのですが、画面遷移するもののhiddenで記述した値が無視されてしまいました。 解決方法や別の方法などありましたら教えていただければと・・・。 条件として、ブラウザのアドレス部分にhiddenの内容が表示されないようにしたいです。

  • HTML
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • aa_akiya
  • ベストアンサー率100% (21/21)
回答No.1

<form action='./aaa/bbb/ccc.php' method='POST' name='abc' id='abc'> <input type='hidden' name='flg' value='1' /> <span onclick='document.getElementById("abc").submit()'>メイン</span> </form> 上記のような変更でいかがでしょう。 getElementById("abc")の「abc」の部分は、フォームのidを記入します。

ponta1971
質問者

お礼

回答いただきありがとうございました。 私の書いたソースを元に回答をいただき、分かりやすく勉強になりました。 動作も、問題ないことを確認できました。 お三方の回答、全て求めていた表示、動作でしたので、最初に回答をいただいたaa_akiyaさんの回答をベストアンサーにさせていただきたいと思います。 ありがとうございました。

その他の回答 (2)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

単純にスタイルシートに input[type="submit"]{border:none;background-color:transparent;} だけじゃまずいのですか? HTMLに直接書いても <input type="submit" value="送信" style="border:none;background-color:transparent;"> javaccriptが無効なブラウザでも関係ないし・・

ponta1971
質問者

お礼

回答をいただき、ありがとうございます。 背景色を透明色にするという考え自体がまったくなかったので、勉強になりました。 見た目がテキスト表示の場合と同様で動作も問題ないことが確認できました。 ありがとうございました。

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

spanがformに包含されているのであれば上位にさかのぼって formを送信する感じで・・・ <script> function formsubmit(obj){ var n=obj; while(n=n.parentNode){ if(n.nodeName=="FORM") break; }; n.submit(); } </script> <form> <div> <input type='hidden' name='flg' value='1'> <span onclick='formsubmit(this)'>メイン</span> </div> </form>

ponta1971
質問者

お礼

回答をいただきありがとうございます。 まったく考えが及ばないような方法で、勉強になりました。 実際にソースに組み込んでみて動作確認もできました。 ありがとうございました。

関連するQ&A

  • FORMで送信ボタンと戻るボタンを2つつけてそれぞれ遷移先を変えたい

       以下のような画面を作りたいのですが↓ -------------------------------------------------------------------------------- ● a.php (ユーザ情報入力画面) ※フォームに入力する画面    <FORM method="POST" action="b.php">   <INPUT type="text" name="mail">   <INPUT type="submit" name="submit" value="確認">  </FORM> ● b.php (ユーザ情報入力確認画面)※フォームに入力された値を表示する画面  <FORM method="POST" action="c.php">   <!-- ここには、フォームに入力された値を表示する -->   <INPUT type="submit" name="submit" value="登録"> // c.php に遷移する   <INPUT type="submit" name="submit" value="戻る"> // a.php に戻る  </FORM> ● c.php (完了画面) -------------------------------------------------------------------------------- b.php について質問なのですが、 b.phpにおいて、登録ボタンと戻るボタンを2つつけて、 それぞれ遷移先を変えたいのですが、どうすればいいんでしょうか・・・? <FORM method="POST" action="c.php">と書いてしまうと、 戻るボタンを押しても戻らずに、c.phpに遷移してしまいますよね?? こういう場合ってJavaScriptとかで遷移先を指定するんですか・・? もしそうでしたら、JavaScriptがよくわからないので できればサンプルコード示していただけると助かります・・・。   

  • formのボタンをsubmitしたときにアラート

    javascript で、formのボタンをsubmitしたときに アラートが出るようにしたいと思います。 下記のように作ってみましたが、うまく動きません。 どのようにすれば動くでしょうか? ご教示いただきたくお願いいたします。 <script type="text/javascript"> function(){ $('form1').submit(function(){ $.ajax({ type: 'POST', data: postData, url: 'buy.php', success: function(data){alert("購入できました");} error: function(){alert('購入できませんでした。再度お試しください');} }); return false; }); } </script> <form name="form1" id="form1" method="POST" name="form1" value="form1" action="buy.php"> <input type="hidden" name="id" value="100" /> <input type="hidden" name="name" value="高橋" /> <input type="submit" value="Save"> <form/>

  • Formを使ったPHP間での受け渡しについて

    いつもお世話になっています。 PHP間での変数の受け渡しで・・ <form action="<?= test.php ?>" method="POST">   <input type="hidden" name="id" value="aaa"/>   <input type="submit" name="submit" value="送信"> </form> と記述するとtest.phpには渡したいaaaが渡されるのですが、 これだとsubmitを押さないと渡せないため困っています。 したいことをまとめると、submitを使わずにページが表示されたら スグに変数が渡されるようにしたいです。 いろいろ試してみましたが、力不足で出来ませんでした。 宜しくお願いします!

    • ベストアンサー
    • PHP
  • formでPOSTするのと同じ動作をボタンとjavascriptで実現したいのですが

    <form name="myFORM" method="POST" action="xxx.php"> <input type="text" name="NAME"> <input type="submit" value="送信"> </form> 上記と同じ動作を <button onclick="fpost('tanaka','POST','xxx.php')">送信</button> とjavascriptで実現したいのですが可能でしょうか? 可能でしたらどのようなスクリプトになりますでしょうか? document.myFORM.submit();とかではなく、formタグを全く使わずPOSTしページ遷移したいのですが。 XMLHttpRequestとlocation.replace()とかでできるのでしょうか?? すみませんがよろしくお願い致します。

  • 別formのhidden項目を自form値として送信したい

    同ページ内に <form name="form1" action="aa"> <input type="text" value="123"> <!-- hidden項目は無い場合もある --> <input type="hidden" name="form1_1" value="xxx"> <input type="hidden" name="form1_2" value="yyy"> <input type="submit"> </form> <form name="form2" action="bb"> <input type="text" value="456"> <input type="hidden" name="form2_1" value="www"> <input type="hidden" name="form2_2" value="zzz"> <input type="submit"> </form> といった感じのformタグをおいています。 そこで、form2を送信する時に、form1のhiddenのみform2のformValueとして送信したいのですが、どんな風に飛ばしたらよいのでしょうか? というより、from2を飛ばすときに、他のformのhidden項目があったら自formの値として送信することってできるんでしょうか? javascriptでできるんでしょうか? 素人質問ですいませんが、何か足がかりになるようなものをご教授いただければと思います。

  • リンク風sabmitのformをまとめられますか?

    フォームの送信を、リンク風に表示しているのですが、 複数ある場合、フォームタグをまとめることはできるのでしょうか? 下記にHTMLを記載しております。 <form name="word1" method="POST" action="word.php"> <input type="hidden" name="fruit" value="みかん"> </form> <form name="word2" method="POST" action="word.php"> <input type="hidden" name="fruit" value="りんご"> </form>    ・    ・    ・    ・ <form name="word100" method="POST" action="word.php"> <input type="hidden" name="fruit" value="ぶどう"> </form> <a href="javascript:document.word1.submit()">みかん</a> <a href="javascript:document.word2.submit()">りんご</a>    ・    ・    ・    ・ <a href="javascript:document.word100.submit()">ぶどう</a> と、1つ1つ書いていて長すぎると思っていたのですが まとめることは可能なのでしょうか? また、可能であれば、javascript等の知識が必要となるのでしょうか? ご教授宜しくお願い致します。

  • form内からリンクを使用したいのですが。。。

    いつもお世話になっております。 strutsを使用して、画面遷移を行おうとしています。 form内からボタンを使用してなら、リンクを行うことは出来るのですが、普通のリンク(HTMLだとA HREF)で表示させたいのですが、うまくいかず、WEBでも見つけることが出来なかったので、質問いたしました。 下記ソースです。 <html:form action="/category"> <html:submit property="submit"><%=strC_name%></html:submit> <input type="hidden" name="c_no" value="<%=numC_no%>"> <input type="hidden" name="c_name" value="<%=strC_name%>"> </html:form> どなたか解決方法が分かる方、ご教授願います。

  • Submitが使えないFormでのデータ送信

    次のようなFORMでSubmitがなくって画像クリックし、次の画面へ いく場合ですが、どういうコードを書けばいいのでしょうか? よろしくお願いします。 <FORM name=myForm action=http://abc.com/abc.cgi method=post> <TD> <INPUT type=hidden value=itemA name=mycmd> <INPUT type=hidden value=9999 name=myid> <INPUT type=image src="/img/image.gif" border=0 name=item> </TD> </FORM>

  • this.formがundefined

    複数のformを作成して、そのformのデータだけをsubmitしたいのですが、うまくいきません。どなたかご教授願います。strutsを使用しております。 form作成部分 <logic:iterate name="hogeForm" property="hohehogeList" id="list"> <div align="center" > <html:form action="/hoge.do"> <a href="javaScript:gotoNextPage(this.form)"> 次へ </a> <html:hidden name="list" property="name" /> <html:hidden name="list" property="old" /> <br> </html:form> </div> </logic:iterate> javaScriptのソース function gotoNextPage(form){ form.action='<html:rewrite page="/hogehoge.do" />'; form.submit(); return false; } うまくthis.formでformが渡っていないようなのですが・・・。

  • JavaScriptにおいてPOSTで送信されたデータを取得出来ますか

    <form action="自分" method="POST"> <input type="hidden" name="abc" value="1"> <input type="submit" name="OK" value="OK"> </form> 上記のように、POST渡しで送信したとき、Javascriptにて、hiddenのデータを取得することができるのでしょうか? 出来るのであればその方法を教えてくださいませんか。 よろしくお願いします。

専門家に質問してみよう