セレクトボックスの値を引数として渡したいと思っています。
jquery
1mcount=$('#mcount').val(); 2alert('test.php?id=<?php echo $id ?>&mcount=<?php echo '+mcount+' ?>');
なぜか、渡しているのはセレクトボックスの値ではなくて、mcountという文字列が渡されています。
どうすればよいのでしょか?
よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
idはサーバーから渡し、mcountはクライアントから渡すんですよね?
javascript
1<?php 2$id="あああ"; 3?> 4<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 5<script> 6$(function(){ 7 $('input[type=button][value=check]').on('click',function(){ 8 mcount=$('#mcount').val(); 9 alert('test.php?id=<?php echo urlencode($id); ?>&mcount='+encodeURIComponent(mcount)); 10 }); 11}); 12</script> 13 14<select id="mcount"> 15<option value="i_いいい">いいい</option> 16<option value="u_ううう">ううう</option> 17<option value="e_えええ">えええ</option> 18</select> 19<input type="button" value="check">
※セレクトボックスとのことなのでhtml部分を修正しました
投稿2017/11/08 01:40
編集2017/11/08 01:48総合スコア114779
0
サーバサイドの処理とクライアントの処理(JavascriptとPHP)がごっちゃになっていると思われます。
プログラムが実行される順序を考えてみましょう。
①PHPがサーバサイドで実行されてHTMLが生成される
②生成されたHTMLをクライアント(ブラウザ)が解釈して画面表示する
③その中にJavascriptがあればクライアント(ブラウザ)がJavascriptを処理する
上記の順序で処理が動くと考えると、①の段階ではJavascript(おそらくjQuery)の処理である「mcount=$('#mcount').val();」は動作しないないため、PHP命令文中の「mcount」はただの「mcount」という文字でしかないです。
投稿2017/11/07 23:35
総合スコア176
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
情報が少なすぎますが、PHPで出力した質問文のjavascript構文を実行したら
alertが出ないって話と解釈して回答します。
一先ず、javascriptは忘れてください。PHPの構文
PHP
1alert('test.php?id=<?php echo $id ?>&mcount=<?php echo '+mcount+' ?>');
このうちの
php
1// 便宜上代入処理 2<?php $id=123 ?> 3<?php echo $id ?>// 123 4<?php echo '+mcount+' ?>// +mcount+
上記と仮定すると記載されているPHPが実行された後の文字列は
php
1'test.php?id=123&mcount=+mcount+'
という文字列[+mocount+]になると思いますが違いますか?
javascriptの文字列として解釈させたい場合は
php
1alert('test.php?id=<?php echo $id ?>&mcount=<?php echo "'+mcount" ?>);
として、['+mcount]シングルクォーテーションで文字列の終端を示し、その後に
+を用いて変数mcountと連結するというような文を書かないとjavascriptで
変数として解釈しないです。
投稿2017/11/07 23:03
総合スコア1013
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。