在模态对话框/框中显示搜索结果 [英] Display Search Results in Modal Dialog/Box

查看:45
本文介绍了在模态对话框/框中显示搜索结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我似乎无法让我的模态框显示搜索结果,我可以提交表单并且模态框会出现,我已经尝试在模态框中回显我的变量但没有任何显示.我试过将搜索脚本和脚本放在模态框中.没有什么.我几乎用我能找到的每一个模态框都试过了,所以这不是模态框我只是没有做正确的事情.我只知道我累了,我的眼睛受伤了,我要放弃这样做了.我只是不希望页面在搜索时刷新,因为它会清除用户为搜索模型 ID 而输入的所有值.为了创建一个生物,您必须拥有不容易找到的模型 ID 我正在尝试提供我要搜索的模型 ID 的副本.请.任何帮助表示赞赏,谢谢.

表格

//我的表单<form name="Form2" method="get" action="" enctype="application/x-www-form-urlencoded" id="Form2"><input type="text" id="Editbox19" style="position:absolute;left:20px;top:80px;width:191px;height:35px;line-height:35px;z-index:0;"name="name" value=""class"rounded"><div id="wb_Text25" style="position:absolute;left:20px;top:134px;width:58px;height:34px;z-index:1;text-align:left;"><span style="color:#FFFFFF;font-family:Arial;font-size:15px;">条目 ID:</span></div><input type="text" id="Editbox20" style="position:absolute;left:20px;top:153px;width:191px;height:35px;line-height:35px;z-index:2;"name="entry" value=""class"rounded"><div id="wb_Image2" style="position:absolute;left:10px;top:5px;width:221px;height:31px;z-index:3;"><img src="images/modelid.png" id="Image2" alt=""></div><div id="wb_Text24" style="position:absolute;left:18px;top:46px;width:227px;height:34px;z-index:4;text-align:left;"><span style="color:#FFFFFF;font-family:Arial;font-size:15px;"><br>名称:</span></div><input type="submit" id="Button1" onclick="$('#jQueryDialog1').dialog('open');return false;"name="" value="Submit" style="position:absolute;left:269px;top:187px;width:96px;height:25px;z-index:2;">//什么激活了模态框</表单>

模态框

//Modal Box本身<div id="jQueryDialog1" style="z-index:3;"title="这是标题">//我想在其中显示搜索结果的模态框内容.

我的脚本:

//模态框脚本<脚本>$(document).ready(function(){var jQueryDialog1Opts ={宽度:554,身高:367,位置:{我的:'中心',在:'中心',的:窗口},可调整大小:真实,可拖动:真实,closeOnEscape: 真,自动打开:假};$("#jQueryDialog1").dialog(jQueryDialog1Opts);});

我的搜索脚本:

 PDO::ERRMODE_EXCEPTION));$conditions = array();$oemSearch = $_GET['name'];$oempnSearch = $_GET['entry'];$min = 1;$oemLen = strlen($oemSearch);$oempnLen = strlen($oempnSearch);if ($oemSearch == "" && $oempnSearch == "") {echo "您必须输入姓名或条目 ID";出口;}if ($oemSearch != "" && $oemLen < $min) {echo "您必须输入至少 1 个字符的条目 ID.";出口;}if ($oempnSearch != "" && $oempnLen < $min) {echo "您必须输入至少 3 个 P/N 字符.";出口;}if ($oemSearch != "" && $oempnSearch == "") {$stmt = $dbh->prepare("select * from carbon_template WHERE name LIKE '%$oemSearch%' ORDER BY entry LIMIT :limit OFFSET :offset");//$query->bindValue(1, "%$oemSearch%", PDO::PARAM_STR);}if ($oemSearch == "" && $oempnSearch != "") {$stmt = $dbh->prepare("select * from carbon_template WHERE name LIKE '%$oempnSearch%' ORDER BY entry LIMIT :limit OFFSET :offset");//$query->bindValue(1, "%$oemSearch%", PDO::PARAM_STR);}if ($oemSearch != "" && $oempnSearch != "") {$stmt = $dbh->prepare("select * from carbon_template WHERE name LIKE '%$oemSearch%' OR entry LIKE '%$oempnSearch%' ORDER BY entry LIMIT :limit OFFSET :offset");//$query->bindValue(1, "%$oemSearch%", PDO::PARAM_STR);}//找出表中有多少项$total = $dbh->query("SELECT COUNT(*) AS num FROM creative_template ")->fetchColumn();//每页要列出多少项$limit = 10;//会有多少页$pages = ceil($total/$limit);//我们当前在哪个页面?$page = min($pages, filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT, array('选项' =>大批('默认' =>1、'min_range' =>1、),)));//计算查询的偏移量$offset = ($page - 1) * $limit;//显示给用户的一些信息$start = $offset + 1;$end = min(($offset + $limit), $total);//绑定查询参数$stmt->bindParam(':limit', $limit, PDO::PARAM_INT);$stmt->bindParam(':offset', $offset, PDO::PARAM_INT);$stmt->execute();//我们有结果吗?如果 ($stmt->rowCount() > 0) {//定义我们希望如何获取结果$stmt->setFetchMode(PDO::FETCH_ASSOC);$iterator = new IteratorIterator($stmt);//显示结果echo "";echo "<tr class='tblheader'><th bgcolor=#00CC00>Name</th><th bgcolor=#00CC00>Entry ID</th><th bgcolor=#00CC00>Model ID</th>";foreach ($iterator as $row) {echo "<tr class=odd views-row-first1><td><a href=http://wowhead.com/npc=";回声 $row['entry'];回声></td><td><b>";回声 $row['entry'];echo "</a></td><td><b>";回声 $row['modelid1'];echo "</td></tr></b>";}echo "</table>";} 别的 {echo '<p>没有结果可以显示.</p>';}} 捕获(异常 $e){echo '<p>', $e->getMessage(), '</p>';}}?>

解决方案

你在使用 ajax 吗?从您的按钮中删除您的 onclick 并尝试:

 $("#Button1").click(function(){var name = document.getElementById("Editbox19");var entry = document.getElementById("Editbox20");var jQueryDialog1Opts ={宽度:554,身高:367,位置:{我的:'中心',在:'中心',的:窗口},可调整大小:真实,可拖动:真实,closeOnEscape: 真,自动打开:假};$.ajax({url: "search.php?name="+name+"&entry="+entry,类型:获取",成功:功能(数据){$("#jQueryDialog1").dialog(jQueryDialog1Opts);$("#jQueryDialog1").html(data);},错误:函数(){alert("错误!!!请刷新页面再试一次!");}});});

我假设您的搜索脚本位于名为search.php"的 php 页面中.相应地改变它是的.

I can't seem to get my modal box to display the results of a search, I can submit the form and the modal box will appear, I've tried echoing my variables in the modal box but nothing shows. I've tried putting the Search script, and script in the modal box. Nothing. I've tried it with almost every Modal box I could find, so it's not the modal boxes I'm just not doing something right. I just know I'm tired, my eyes hurt, and I'm just about to give up doing this. I just don't want the page to refresh when searching, because it clears all the values the user in puts to search for a model id. In order to create a creature, you must have the model ID which aren't easy to find I'm trying to provide my copy of the model ids to be searched through. Please. Any help is appreciated, thanks.

THE FORM

// My form
    <form name="Form2" method="get" action="" enctype="application/x-www-form-urlencoded" id="Form2">
    <input type="text" id="Editbox19" style="position:absolute;left:20px;top:80px;width:191px;height:35px;line-height:35px;z-index:0;" name="name" value="" class"rounded">
    <div id="wb_Text25" style="position:absolute;left:20px;top:134px;width:58px;height:34px;z-index:1;text-align:left;">
    <span style="color:#FFFFFF;font-family:Arial;font-size:15px;">Entry ID:</span></div>
    <input type="text" id="Editbox20" style="position:absolute;left:20px;top:153px;width:191px;height:35px;line-height:35px;z-index:2;" name="entry" value=""class"rounded">
    <div id="wb_Image2" style="position:absolute;left:10px;top:5px;width:221px;height:31px;z-index:3;">
    <img src="images/modelid.png" id="Image2" alt=""></div>
    <div id="wb_Text24" style="position:absolute;left:18px;top:46px;width:227px;height:34px;z-index:4;text-align:left;">
    <span style="color:#FFFFFF;font-family:Arial;font-size:15px;"><br> Name:</span></div>

    <input type="submit" id="Button1" onclick="$('#jQueryDialog1').dialog('open');return false;" name="" value="Submit" style="position:absolute;left:269px;top:187px;width:96px;height:25px;z-index:2;">// What activates the Modal Box

    </form>

The Modal Box

//Modal Box itself
<div id="jQueryDialog1" style="z-index:3;" title="This is the title">
//Modal Box Content where I want to display Search results.
</div>
</div>

My Script:

 // Modal Box Script
    <script>
    $(document).ready(function()
    {
       var jQueryDialog1Opts =
       {
          width: 554,
          height: 367,
          position: { my: 'center', at: 'center', of: window },
          resizable: true,
          draggable: true,
          closeOnEscape: true,
          autoOpen: false
       };
       $("#jQueryDialog1").dialog(jQueryDialog1Opts);
    });
    </script>

My Search Script:

  <?php 
        if(isset($_GET['name'], $_GET['entry'])) {
        try { 

        $host = "xxxxxx";
        $user = "xxxxxxxx";
        $password = "xxxxxx";
        $database_name = "xxxxxxxx";
        $dbh = new PDO("mysql:host=$host;dbname=$database_name", $user, $password, array(
        //PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
        ));

        $conditions = array();
        $oemSearch = $_GET['name'];
        $oempnSearch = $_GET['entry'];
        $min = 1;
        $oemLen = strlen($oemSearch);
        $oempnLen = strlen($oempnSearch);

        if ($oemSearch == "" && $oempnSearch == "") {
         echo "You must enter a Name or Entry ID";
         exit;
        }
         if ($oemSearch != "" && $oemLen < $min) { 
         echo "You must enter an Entry ID of atleast 1 Character.";
         exit;
        }
         if ($oempnSearch != "" && $oempnLen < $min) { 
         echo "You must enter at least 3 P/N characters.";
         exit;
        }
        if ($oemSearch != "" && $oempnSearch == "") {
        $stmt = $dbh->prepare("select * from creature_template WHERE name LIKE '%$oemSearch%' ORDER BY entry LIMIT :limit OFFSET :offset");
        //$query->bindValue(1, "%$oemSearch%", PDO::PARAM_STR);
        }
        if ($oemSearch == "" && $oempnSearch != "") {
        $stmt = $dbh->prepare("select * from creature_template WHERE name LIKE '%$oempnSearch%' ORDER BY entry LIMIT :limit OFFSET :offset");
        //$query->bindValue(1, "%$oemSearch%", PDO::PARAM_STR);
        }
        if ($oemSearch != "" && $oempnSearch != "") {
        $stmt = $dbh->prepare("select * from creature_template WHERE name LIKE '%$oemSearch%' OR entry LIKE '%$oempnSearch%' ORDER BY entry LIMIT :limit OFFSET :offset");
        //$query->bindValue(1, "%$oemSearch%", PDO::PARAM_STR);
        }

        // Find out how many items are in the table
        $total = $dbh->query("SELECT COUNT(*) AS num FROM creature_template ")->fetchColumn();

        // How many items to list per page
        $limit = 10;

        // How many pages will there be
        $pages = ceil($total / $limit);

        // What page are we currently on?
        $page = min($pages, filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT, array(
            'options' => array(
            'default'   => 1,
            'min_range' => 1,
            ),
        )));

        // Calculate the offset for the query
        $offset = ($page - 1) * $limit;

        // Some information to display to the user
        $start = $offset + 1;
        $end = min(($offset + $limit), $total);

        // Bind the query params
        $stmt->bindParam(':limit', $limit, PDO::PARAM_INT);
        $stmt->bindParam(':offset', $offset, PDO::PARAM_INT);
        $stmt->execute();

        // Do we have any results?
        if ($stmt->rowCount() > 0) {
            // Define how we want to fetch the results
            $stmt->setFetchMode(PDO::FETCH_ASSOC);
            $iterator = new IteratorIterator($stmt);

           // Display the results
        echo "<table class='views-table' border=1>";   
              echo "<tr class='tblheader'><th bgcolor=#00CC00>Name</th><th bgcolor=#00CC00>Entry ID</th><th bgcolor=#00CC00>Model ID</th></tr>";
            foreach ($iterator as $row) {
              echo "<tr class=odd views-row-first1><td><a href=http://wowhead.com/npc=";         
                echo $row['entry'];
                echo "></td><td><b>";
                echo $row['entry'];
                echo "</a></td><td><b>";
                echo $row['modelid1'];
                echo "</td></tr></b>";
            }
             echo "</table>"; 


        } else {
            echo '<p>No results could be displayed.</p>';
        }

        } catch (Exception $e) {
            echo '<p>', $e->getMessage(), '</p>';
        }}
        ?>

解决方案

Are you using ajax at all? Remove your onclick from your button and try:

    $("#Button1").click(function(){
    var name = document.getElementById("Editbox19"); 
    var entry = document.getElementById("Editbox20"); 
    var jQueryDialog1Opts =
    {
    width: 554,
    height: 367,
    position: { my: 'center', at: 'center', of: window },
    resizable: true,
    draggable: true,
    closeOnEscape: true,
    autoOpen: false
    };

        $.ajax({
            url: "search.php?name="+name+"&entry="+entry,
            type: "GET",
            success:function(data){
                    $("#jQueryDialog1").dialog(jQueryDialog1Opts);
                    $("#jQueryDialog1").html(data);
            },
            error:function (){
                alert("Error!!! Please refresh the page and try again!");
            }
        });
    });

I assumed your search script is in a php page named "search.php". Change it accordingly yup.

这篇关于在模态对话框/框中显示搜索结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆