こんにちは。
現在作成しているサイトでPHPで出力した後のHTMLソースコードですが、ローカルでは問題なく動いていたのですが、さくらのクラウドのサーバーにアップした同データのソースで下記の現象が起きました。
理論上は間違いはないかなぁとは思っているのですが、どうにも原因がわからずじまいになってしまいました。
【機能内容】
aタグの箇所をクリックすると、hiddenで隠してあるformをsubmitする機能
【現象】
・サーバーでのみクリックしても何も反応しない ←これがいちばんの重要な問題
・サーバーで生成したソースコードのうち、inputのtype="hidden"部分だけがなぜか自動で要素の一番後ろに生成されている(PHP生成する段階では一番後ろにはない。これに関してはさらに謎)
HTML
1 2<!--ローカル環境--> 3<div class="st_list-item list-item-container" modifier="chevron"> 4 <a href="#" onclick="document.changesite.submit()"> 5 <div class="notice_img"> 6 <img src="site_icon_1.png" alt="site_icon"> 7 </div> 8 <div class="notice_date">2017-01-20 15:14:22</div> 9 <div class="notice_title"> 10 <span style="color:black;">アイテム名 : 〇〇</span> 11 </div> 12 <div class="notice_content">期限を超過した為、この取引は自動完了されました。</div> 13 </a> 14</div> 15 16<form action="ローカルホストアドレス+phpファイルパス" method="POST" name="changesite" id="changesite" type="submit"> 17 <input name="redirect_to" type="hidden" value="アイテムページ"> 18 <input name="a" type="hidden" value="login"> 19 <input name="access_token" id="access_token" type="hidden" value="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9."> 20 <input name="log" id="log" type="hidden" value="09000000000"> 21 <input name="rememberme" type="hidden" id="rememberme" value="forever"> 22</form> 23 24 25 26<!--サーバー環境--> 27<div class="st_list-item list-item-container" modifier="chevron"> 28 <a href="#" onclick="document.changesite.submit()"> 29 <div class="notice_img"> 30 <img src="site_icon_1.png" alt="site_icon"> 31 </div> 32 <div class="notice_date">2017-01-20 15:14:22</div> 33 <div class="notice_title"> 34 <span style="color:black;">アイテム名 : 〇〇</span> 35 </div> 36 <div class="notice_content">期限を超過した為、この取引は自動完了されました。</div> 37 </a> 38</div> 39 40<form action="サーバーアドレス+phpファイルパス" method="POST" name="changesite" id="changesite" type="submit"> 41 <input name="redirect_to" value="アイテムページ" type="hidden"> 42 <input name="a" value="login" type="hidden"> 43 <input name="access_token" id="access_token" value="yJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9." type="hidden"> 44 <input name="log" id="log" value="09000000000" type="hidden"> 45 <input name="rememberme" id="rememberme" value="forever" type="hidden"> 46</form>
一応ファイルパスなどのURL関係は間違ってはいませんでした。
デバッグもして見ましたが、aタグにクリックしてもやはり反応自体していませんでした。
ローカルと同じファイルである以上環境依存の問題かなぁと思っていますが、なんとか解決したいと思っております。
お力添えをいただければ幸いです。
【更新】
もしかしたらと思いましてaタグの方をこのように修正しました。
HTML
1<!--修正前--> 2<a href="#" onclick="document.changesite.submit()"> 3 4<!--修正後--> 5<a href="" onclick="document.changesite.submit();return false;">
その場合、なぜかreturn falseにしているのに、formではなくaタグの方が反応してしまい、自身のページへ遷移してしまうことがわかりました。
回答6件
あなたの回答
tips
プレビュー