0

我想检索文本框值并将其分配给 php 变量但不使用表单。我正在做搜索功能,我想在按钮单击时隐藏一些内容,并且在同一次单击时想要搜索功能,但是如果我使用表单,那么它将重定向到另一个页面或再次重新加载我不想要的页面。

所以我想要另一种方法。

4

4 回答 4

2

阿贾克斯,除了是希腊神话中特洛伊战争的英雄……是您需要的技术,也是您的朋友。

我建议使用 jQuery [因为 Barry 发布的速度比我快,因为我想确保我得到了正确的神话参考...]

正如MaxArt所指出的那样,实际上有两个名叫“阿贾克斯”的希腊英雄,都参加了特洛伊战争(并且都参加了荷马的伊利亚特)。


您可以像这样使用 jQuery:

<!-- Link jQuery (replace src with the location where you have jQuery) -->

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js">
</script>

<!-- Try something like this [having jQuery linked]: -->

<script type="text/javascript">
     function doButtonStuff()
     {
         //Use jQuery to "hide some contents"
         $('#stufftohideId').hide(); //stufftohideId identifies what to hide

         //set the url of the web page that will take this info on your server
         var ulr = "http://localhost";

         //The following part will fail if you cannot connect to the server
         $.post(
             url,
             {text: $('#textboxId').val()}, //textboxId identifies the textbox
             function (data)
             {
                 //data is what the server responded
                 //do something with data, for instance:
                 alert(data);
             }
         );
     }
</script>


<input type="text" id="textboxId"></input>
<input type="button" onclick="doButtonStuff();" value="Click Me"></input>

<div id="stufftohideId">
    <p>
        This is an example of something to hide.
    </p>
</div>

您将使用您传递的网址进入服务器端,如下所示:

<?php $text = $_POST['text']; ?>

确保验证请求方法,例如:

<?php
    if ($_SERVER['REQUEST_METHOD'] == 'POST')
    {
        $text = $_POST['text'];
        //do something with $text, for instance:
        echo $text;
    }
?>

并且还要验证和清理输入。如果需要会话,也请验证。无论服务器返回什么,都将在客户端收到。

于 2012-06-01T09:07:51.450 回答
1

您可以通过使用 PHP 的 ajax 实现来防止页面重新加载或重定向。你可以检查 CakePHP、tppAjax...

于 2012-06-01T09:08:06.863 回答
1
$(document).ready(function() {

    $("#textboxID").change(function(){
        var text = $(this).val();
    });

});

使用 jQuery,您可以使用文档就绪函数中的 .change 方法来获取文本字段值。通过 jquery 获取值后,您可以执行一些 ajax 并将 javascript 变量发送到 php 页面,您可以在其中使用 $_GET 方法获取它,此时您的变量在 php 中,您可以做任何您想做的事情用它。

于 2012-06-01T09:13:36.893 回答
1

如果您不想重新加载页面,请查看 AJAX,例如 jQuery:http ://api.jquery.com/jQuery.ajax/

于 2012-06-01T09:06:38.683 回答