繁体   English   中英

(PHP)如何使输入隐藏数据从输入框中获取价值

[英](PHP) How can I make input hidden data to get value from input box

嗨,我尝试通过Stack研究我的问题大约3个小时,但仍然没有找到。 因此,我决定创建一个主题来询问我的问题。

我正在创建搜索引擎,结果如下:

  1. 如果我在输入形式中输入测试文本,然后从键盘上单击“输入”按钮,则搜索结果将正常工作。
  2. 如果我在输入表单中输入测试文本,然后单击网页上的“搜索”按钮,则搜索结果无效。

我的问题是结果2。

这是我的代码:

 <form action="search_content.php" method="POST" >  
    <div class="input-group mainsearch-home">           
         <input type="text" class="input-group-field" name="homesearchfield" id="homesearchfield2" placeholder="What are you looking for?" autocomplete="off">
         <div class="input-group-button">
              <button type="button" class="button button--search" >search</button>              
              <input type="hidden" name="homesearchfield" value="search">
         </div>
    </div>
 </form>

我做错了什么? 我以为我的问题出在输入类型的隐藏数据上 所以我想知道如何从输入文本框中获取价值并将价值发送到我的目标页面。

我从下面的“响应”页面添加了一些php代码。

 $viewstate = isset( $_POST["homesearchfield"] ) ? $_POST["homesearchfield"] : "" ;
 $sql="SELECT *  FROM `article` WHERE topic_article LIKE '%$viewstate%' order by id_article DESC";

当前,您的表单不知道该按钮是用于提交表单的,可以通过更改按钮的类型来修复该问题:

<button type="submit" class="button button--search" >search</button>

您还可以使用:

<input type="submit" class="button button--search" value="search" />

控制数据的一种方法是使用JavaScript / jQuery来控制表单的操作。 通过这种方式,您还可以在实际发送之前查看要发布的数据,甚至可以注释掉该帖子,然后仅使用希望获取的正确数据来获取表单。

为了使序列化工作正常进行,您还需要为每个要传递回数据的项目命名。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script lang="JavaScript">
$(function(){
    $("#button").click(fuction()
    {
        var formData = $("#form").serialize();
        alert(formData);
        /*
        $.post({"search_content.php",
                formData,
                function(returndata)
                {
                    //do something

                    //this will load the return data into the div tag on the fly
                    $("#divReturn").html(returndata); 
                },
                "text"
          });
          //*/
    });

});
</script>
<form id="form" onsubmit="return false;" >  
    <div class="input-group mainsearch-home input-group--search inputs--raspberry">         
         <input type="text" class="input-group-field" name="homesearchfield" id="homesearchfield2" placeholder="What are you looking for?" autocomplete="off">
         <div class="input-group-button">
              <button type="button" class="button button--search" id="button" name="button" value="search" >search</button>              
         </div>
    </div>
</form>
<div id="divReturn">
</div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM