如何使用图像链接提交表单以使用JS(无JQuery)更改表单操作?

时间:2013-05-21 19:16:13

标签: php javascript

我有一个搜索表单,需要以三种不同的方式处理:

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键提交表单的默认方法。

提前谢谢!

2 个答案:

答案 0 :(得分: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)并更改操作属性。

答案 1 :(得分: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>