0

こんにちは、私はこの質問が投稿されたことを知っていますが、完全な初心者であるため、回答が何を意味するのかわかりませんでした。助けてください。入力ボックスの値をphp変数に動的に渡したいです。私はここで JavaScript を使用しています。フォーム送信、_GET、または _POST を使用しない別の方法があるかどうかを提案してください。提出せずに動的に実行したい。

function showHint(str)
    {
    document.getElementById('TK').innerHTML = str;
    var str = str

    }

</script>


<html>
<head>Inputbox</head>
<title>TEST PAGE </TITLE>
<body>
<input type='text' id='TK' name='TK' onkeyup='showHint(this.value)'/>
<?php
$str = var  str ;  
echo "<a href = 'newpage.php?S=$str'/>" ; ?>
</body>
</html>
4

3 に答える 3

1

いいえ、できません。PHPは動的言語ではなく、クライアント側では実行されません。PHPは1回だけ実行され、そのときにページが読み込まれます。スクリプトを実行して停止します。あなたができることは、javascriptにAJAX呼び出しをさせることです。AJAXは基本的に、すべてJavaScriptで情報を別のページに渡し、データを取得する方法です。それについていくつかの調査を行いますが、要するに、一度実行されたPHPを実行させることはできません

于 2012-08-14T01:05:27.860 に答える
0
<script type="text/javascript" >
function process(){
var field1 = 'whatever';
var field2 = 'more whatever';

$.post("go.php",{field:field1,bext_field:field2},function(result){
         alert(result); 


});

};
</script>

これにより、GO.PHPからエコーしたものがすべて警告されます。

次のようなハンドラーも必要になります。

onClick="process();"

div、ボタン、画像など、投稿を「開始」したいものなら何でも

于 2012-08-14T01:07:49.013 に答える
0

あなたが見つけた他の答えは、おそらく次のように言っていると思います:

ユーザーがページを表示する前に、PHP が実行されます。

JS を使用すると、後で何が起こるかを制御できます。

したがって、あなたの問題は、PHP を使用して単純にできないことをしようとしているということです。

これらのポイントを使用して、アプリケーションを開発する際の意思決定を支援してください。この場合、ユーザーがボックスに入力した内容に基づいてリンクを作成しようとしている場合、問題の解決策は PHP ではありません (ページは既に読み込まれているため、手遅れです!) --あなたのソリューションはJSです。

次のように考えてください。

/* 
  assumes you already have an <a> on the page.  if not, you'll 
  have to create a new <a> element dynamically.  (google "mdn createElement"
  for help)
*/
function showHint (str) {
    document.getElementById('TK').innerHTML = str;
    var link = document.getElementById('your-a-link');
    link.setAttribute('href', 'newpage.php?S=' + str);
}
于 2012-08-14T01:18:36.930 に答える