Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用图像链接提交表单以使用JS(无JQuery)更改表单操作?_Php_Javascript - Fatal编程技术网

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

Php 如何使用图像链接提交表单以使用JS(无JQuery)更改表单操作?,php,javascript,Php,Javascript,我有一个搜索表单,需要以3种不同的方式处理: 1) 表单的默认操作应使用return/enter键提交 2) 如果单击“image1”,则需要更新并提交表单的$操作变量 3) 如果单击“image2”,则需要更新并提交表单的$操作变量 (我知道客户端浏览器中不存在$which_action,我只是将其作为占位符包含在以下代码中) 以下是我目前拥有的关于我想做什么的一些说明: <form method="POST" action="<?php echo $which_action ?&

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

1) 表单的默认操作应使用return/enter键提交

2) 如果单击“image1”,则需要更新并提交表单的
$操作
变量

3) 如果单击“image2”,则需要更新并提交表单的
$操作
变量

(我知道客户端浏览器中不存在
$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?祝你好运。这是一个请求,一个问题,你到底想要什么?@frits:只使用Javascript,不使用Jquery库。你的代码有一些问题:1)对于初学者来说,如果你想让该字段以
$\u post['query']
的形式发布,文本输入需要提供一个name属性,并且必须是
query
。2) 正如您上面所说,没有任何更改
$which_action
。如果您所说的是JavaScript,那么可以使用JavaScript更改表单操作。但是,在执行脚本并将代码输出到客户端浏览器后,PHP变量
$which_action
不再存在。@War10ck:谢谢,是的,这基本上就是我想要做的。我知道php变量$which_action在客户端浏览器中不存在。我在代码示例中使用它作为占位符。我只是不知道如何编写javascript部分来实现这一点。谢谢你的帮助!谢谢你的回复。我不想更改表单值“”,我想保留表单值(无论用户键入什么),只需更改表单操作“”。当用户单击图像时,它应该提交带有新操作的表单。谢谢,这与我需要的非常接近,但单击图像需要似乎不会用表单中的值更新$\u POST['query'],这根本不可能。。。Javascript在客户端运行,PHP在服务器上运行。如果您的意思是,在发布表单后,在PHP脚本中,您没有收到$\u POST['query']中的值,这是因为您需要将-name=“query”-添加到输入字段中
<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>
  <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>