0

3 つの異なる方法で処理する必要がある検索フォームがあります。

1) フォームのデフォルト アクションは、return/enter キーを使用して送信する必要があります。

2) 「image1」をクリックした場合、$which_action変数を更新してフォームを送信する必要があります。

3) 「image2」がクリックされた場合、$which_action変数を更新してフォームを送信する必要があります。

($which_actionクライアント ブラウザーに が存在しないことはわかっています。次のコードにプレースホルダーとして含めただけです)。

ここに私が現在持っているものと、私がやりたいことに関するいくつかのメモがあります:

<form method="POST" action="<?php echo $which_action ?>" id="query"> 
    <input type="text" value="<?php echo $_POST['query']; ?>" />
</form>

<image1>clicking this image should change $which_action=image1.php and POST the form value into $_POST['query'] while submitting the form.
<image2>clicking this image should change $which_action=image2.php and POST the form value into $_POST['query'] while submitting the form.

javascript は、Enter/Return キーを使用してフォームを送信するデフォルトの方法に影響を与えるべきではありません。

前もって感謝します!

4

2 に答える 2

1
  <form method="POST" action="" id="query"> 
<input type="text" value="<?php echo $_POST['query']; ?>" />
</form>

 <img src="" onclick="changeAction('image1.php')">
 <img src="" onclick="changeAction('image2.php')">

 <script>
   function changeAction(url) {
   document.getElementById("query").action = url;
   document.getElementById("query").submit();
  }

 </script>
于 2013-05-21T19:27:21.670 に答える
1

このようなことを意味しますか?http://jsfiddle.net/sebastianteres/mLBxR/

<form method="POST" action="<?php echo $which_action ?>" id="query"> 
  <input id="the_input" type="text" value="<?php echo $_POST['query']; ?>" />
</form>

<image1 onclick="changeValue("foo")>
<image2 onclick="changeValue("bar")>

<script>
  window.changeValue = function (val) {
     document.getElementById("the_input").value = val;   
  }
</script>

その関数内で、(id を使用して) フォームを検索し、アクション属性を変更できます。

于 2013-05-21T19:26:03.153 に答える