質問 > その他 > 会員登録の規約に同意するがbutton化できない |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
aceb |
投稿日時: 2009/2/2 10:58
対応状況: −−−
|
半人前 登録日: 2008/11/9 居住地: 投稿: 19 |
会員登録の規約に同意するがbutton化できない data/Smarty/templates/default/entry/kiyaku.tplファイルの下段にある
<form name="form1" id="form1" method="post" action="<!--{$smarty.server.PHP_SELF|escape}-->"> 〜 </form> の〜の部分にあるリンクをいわゆるinput type="button"にしたいのですが、どうしても上手く遷移せず投稿致しました。 まず下記の方法を試しましたが、いずれも遷移しませんでした。 <input type="button" value="規約に同意する" onClick="location.href='<!--{$smarty.const.URL_ENTRY_TOP}-->'">…不正なページ移動 <input type="submit" value="規約に同意する" >…リンクとして機能しない <input type="button" value="規約に同意する" onClick="top.location.href='<!--{$smarty.const.URL_ENTRY_TOP}-->'">…不正なページ移動 <input type="button" value="規約に同意する" onClick="location.href='URL直接入力'">…不正なページ移動 ただ、アンカーテキストにすると正常に遷移します。 <a href="<!--{$smarty.const.URL_ENTRY_TOP}-->">規約に同意する</a> …OK この箇所をinput type="button"で実装する事はできますでしょうか? 宜しくお願い致します。 環境 EC CUBE 2.3.3 PHP 5.2.5 MySQL 5.1.22-rc |
masaya |
投稿日時: 2009/2/2 13:18
対応状況: −−−
|
半人前 登録日: 2008/11/26 居住地: 投稿: 11 |
Re: 会員登録の規約に同意するがbutton化できない 質問の内容としては、規約に同意して登録フォームに遷移するリンクを、画像から"button"にしたいということでよろしいでしょうか?
当方の環境では、 <input type="button" value="会員登録" onclick="location.href='<!--{$smarty.const.URL_ENTRY_TOP}-->'"> にて、問題なく遷移ができました。 セッションなども関係ないですので、普通にページのリンクとして移動させています。 EC-CUBE 2.3.3 |
aceb |
投稿日時: 2009/2/2 15:25
対応状況: −−−
|
半人前 登録日: 2008/11/9 居住地: 投稿: 19 |
Re: 会員登録の規約に同意するがbutton化できない masaya様
ご回答ありがとうございます。 >質問の内容としては、規約に同意して登録フォームに遷移するリンクを、画像から"button"にしたいということでよろしいでしょうか? まさにその通りです。 >当方の環境では、 <input type="button" value="会員登録" onclick="location.href='<!--{$smarty.const.URL_ENTRY_TOP}-->'"> 上記ソースをそのまま設定してみたのですが、やはり、不正なページ移動です。と表示されました。 ■追加検証 ・IE 6, IE 7, IEβ2 … 不正なページ移動 ・Firefox, Oepra, Safari … 正常に遷移 ■確認事項 ・class等のプログラム部分は編集していない ・https://sample.com/entry/index.phpに遷移し不正なページ移動ですと表示 ・ソースを見る限り<!--{$smarty.const.URL_ENTRY_TOP}-->は適切なURLに変換されている。 ・JavaScript機能は正常に動作している さらに追加検証した結果、IEでは不正なページ移動となりました。 といっても、解決方法の想像がつかないのですが…。 masaya様の方ではIEで動作しましたでしょうか? 宜しくお願い致します。 |
pineray |
投稿日時: 2009/2/2 15:43
対応状況: −−−
|
長老 登録日: 2006/9/9 居住地: 伊賀 投稿: 292 |
Re: 会員登録の規約に同意するがbutton化できない javascriptのlocation.hrefで遷移してしまうと、IEではリファラがリセットされてしまうため、不正なページ移動と判断されてしまいます。
上記のようなボタンで移動する場合は、同意するボタンのtype属性をsubmitにして、formタグのaction属性を指定すればよいと思われます。 簡略して書くと、
|
aceb |
投稿日時: 2009/2/2 17:51
対応状況: −−−
|
半人前 登録日: 2008/11/9 居住地: 投稿: 19 |
Re: 会員登録の規約に同意するがbutton化できない pineray様
アドバイスありがとうございます。 ご指摘頂いた通り、location.hrefではリファラが空になってしまうようです。 ただ、下記2パターンを試したのですが、上手いきませんでした。
結果:不正なページ移動ですと表示
結果:リンクとして機能してない。 他に何か方法がありますでしょうか? |
masaya |
投稿日時: 2009/2/2 18:08
対応状況: −−−
|
半人前 登録日: 2008/11/26 居住地: 投稿: 11 |
Re: 会員登録の規約に同意するがbutton化できない 手元にIEの環境がなく、IEの動作確認をしていなかったです・・。申し訳ない。
Referrerが空になるのは、厄介な仕様ですね。 IEでは、人に動くかどうか調べてもらった程度になりますが、textareaのみ既存のformに残してしまい、 <div class="tblareabtn"> と、submitは新規に <form action="<!--{$smarty.const.URL_ENTRY_TOP}-->" method="get"> な、formに入れてしまうのはどうでしょうか? それなら、単純に動くかと思います。 |
aceb |
投稿日時: 2009/2/2 18:31
対応状況: −−−
|
半人前 登録日: 2008/11/9 居住地: 投稿: 19 |
Re: 会員登録の規約に同意するがbutton化できない masaya様
ありがとうございます。 おかげさまで、無事に全ブラウザで動作確認が出来ました。 pineray様 アドバイス頂いた方法で問題ありませんでした。 ただ、当方の知識不足で、methodにpostばかり指定して 挑戦していたのが最大の間違いでした。 masaya様、pineray様、本当にありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |