php - 表单未重新提交

标签 php jquery

我在 search.php 上有这个表单,它将数据发送到 test.php

搜索.php

<form method="POST" id="searchForm">
  <div align="center"><input id="search" placeholder="Please enter product name eg. GTX 980, R9 390" type="text" name="search" class="form-control"/>
  <br>
</form>
<div id="divPakdukaan"></div>

还有JS

function sendMyAjax(URL_address){
$.ajax({
     type: 'POST',
     url: URL_address,
     data: $("#searchForm").serialize(),
     success: function (data) {
     $('#divPakdukaan').replaceWith(data);}
 });
};
$(document).on('submit','#searchForm',function(e) {
    $('#mainContainer').hide();
e.preventDefault();
sendMyAjax('test.php'); });

当我第一次提交表单时,它会将数据发送到 test.php,并在 test.php 中接收数据并创建表,然后该表显示在 search.php 中,但是当我重新输入其他内容并提交表时,不会显示该表改变结果不变

这里是test.php

<?php
$name=$_POST['search'];
$trimmedName = strtoupper(trim($name));

$pakdukaanQuery = preg_replace('/\s+/','+', $trimmedName);

function pakdukaanExtractor($pakdukaanSearch){
$pakdukaanHtml = file_get_contents('http://www.pakdukaan.com/index.php?fc=module&module=leoproductsearch&controller=productsearch&orderby=position&orderway=desc&cate=&search_query='.$pakdukaanSearch);
$pakdukaanDoc = new DOMDocument();
libxml_use_internal_errors(TRUE); 
if(!empty($pakdukaanHtml)){ 
    $pakdukaanDoc->loadHTML($pakdukaanHtml);
    libxml_clear_errors();
    $pakdukaanXPath = new DOMXPath($pakdukaanDoc);

    //PakDukaan
    $pdrow = $pakdukaanXPath->query('//h5[@class="name"]');
    $pdrow2 = $pakdukaanXPath->query('(//span[@class="price product-price"])');
    $pdrow3 = $pakdukaanXPath->query('(//div[@class="product-container product-block"]//div[@class="left-block"]//div[@class="product-image-container image"]//a[@class="product_img_link"])//@href');
    $pdrow4 = $pakdukaanXPath->query('//div[@class="product-container product-block"]//div[@class="left-block"]//div[@class="product-image-container image"]//img[@class="replace-2x img-responsive"]//@src');

    //PakDukaan
if($pdrow->length > 0){
    $rowpd = array();
    foreach($pdrow as $rpd){
        $rowpd[]= $rpd->nodeValue;
        //echo $rpd->nodeValue . "<br/>";
    }
}
if($pdrow2->length > 0){
    $row2pd_not = $row2pd_optimized = $row2even = array();
    foreach($pdrow2 as $rpd2_not){
        $row2pd_not[]= $rpd2_not->nodeValue;
        //echo $rpd2_not->nodeValue . "<br/>";
    }
    $count=1;
    foreach($row2pd_not as $val)
    {
        if($count%2==1)
        {
            $row2pd_optimized[]=$val;
        }
        else
        {
            $row2even[]=$val;
        }
        $count++;
    }
}
if($pdrow3->length > 0){
    $row3pd = array();
    foreach($pdrow3 as $rpd3){
        $row3pd[]=$rpd3->nodeValue;
        //echo $rpd3->nodeValue . "<br/>";
    }
}
if($pdrow4->length > 0){
    $row4pd = array();
    foreach($pdrow4 as $rpd4){
        $row4pd[]=$rpd4->nodeValue;
        //echo $rpd4->nodeValue . "<br/>";
    }
}
$pdchecker = count($rowpd);
if($pdchecker != 0) {
    $pakdukaan = array();
    for($i=0; $i < count($rowpd); $i++){
        $pakdukaan[$i] = [
        'name'=>$rowpd[$i],
        'price'=>$row2pd_optimized[$i],
        'link'=>$row3pd[$i],
        'image'=>$row4pd[$i]
        ];
    }
}   
else{
    echo "no result found at pakdukaan";
}
}
return $pakdukaan;
}
$pakdukaan = pakdukaanExtractor($pakdukaanQuery);
?>
<div class="container">

<div class="col-xs-6 col-sm-3" style="width:330px;">
    <h3 style="color:white;">PakDukaan</h3>
    <?php foreach($pakdukaan as $a => $pd){ ?>
        <div class="row row-list well" style="height:130px;">
            <table id="pakdukaanTable">
                <tr><td><font size="2"><?php echo $pd['name'] ?></font></td></tr>
                <tr>
                    <td><font size="2"><?php echo $pd['price'] ?></font></td>
                    <td align="right"><button type="button" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#pakdukaanModal<?php echo $a ?>">Details</button></td>
                </tr>
            </table>    
            <div class="container">
                <div id="pakdukaanModal<?php echo $a ?>" class="reveal-modal modal fade" role="dialog" data-reveal>
                    <div class="modal-dialog">
                        <div class="modal-content">
                            <div class="modal-header">
                                <button type="button" class="close" data-dismiss="modal">&times;</button>
                                <h4 class="modal-title">Detail</h4>
                            </div>
                            <div class="modal-body">
                                <table class='table table-hover table-responsive' width='21'>
                                        <tr>
                                            <td><img src="<?php echo preg_replace('/\s+/', '%20',$pd['image'])?>" class="img-thumbnail" alt="Cinque Terre" width="200" height="100" /></td>
                                            <td class="parent">
                                                <h3>PakDukaan</h3>
                                                <table>
                                                    <tr>
                                                        <td class="child"><a target="_blank" class="btn btn-primary" href="<?php echo $pd['link']?>">Buy</a></td>
                                                        <td class="child"><a target="_blank" class="btn btn-primary" href="http://www.pakdukaan.com/">Visit Site</a></td>
                                                    </tr>
                                                </table>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td><font size="2">Name: <?php echo $pd['name']?></font></td>
                                        </tr>
                                        <tr>
                                            <td><font size="2">Price: <?php echo $pd['price']?></font></td>
                                        </tr>
                                </table>
                            </div>
                            <div class="modal-footer">
                                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                            </div>
                        </div>  
                    </div>
                </div>      
            </div>
        </div>
    <?php } ?>
</div>
</div>
</div>

最佳答案

你替换你的div:

重写这个:

$('#divPakdukaan').replaceWith(data);

对此:

$('#divPakdukaan').html(data);

关于php - 表单未重新提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39100844/

相关文章:

php - 打开失败需要mysqli_connect.php

php - fetchArray() 在 SQLite 中不起作用

javascript - 为什么jQuery或诸如getElementById之类的DOM方法找不到元素?

javascript - jqplot 中具有多个 y 轴的多个系列

javascript - 通过 AJAX 发送 JS 数组到 laravel 不起作用

php - 寻找简单的PHP多路加密方法

php - 如何在 GROUP_CONCAT() 中获取 SUM()

php - 下拉 Bootstrap 菜单未在网页上填充

javascript - 可在 jQuery 插件外部访问的对象

javascript - HTML 使元素无效放置目标