0

我有一个带有 id 或“显示”的表单。它有一个要发送的值,它是一个选择项,我给它一个 'services' 的 id。

我想将“服务”的值发送到我在单独的 php 页面中创建的函数。该页面称为“functs.php”,函数名称称为“searchResults”。

“searchResults”功能有效,我知道的就这么多。它查询数据库并输出 8 个单独的 php echo 语句。我已经运行了 PHP 函数并且知道它可以工作。我知道问题出在我的 javascript 上,因为,好吧,我在 JavaScript 方面不是最擅长的,而且通常会回避它。

截至目前,代码没有做任何事情。我的表单有自己的动作可以发布到单独的 php 页面。

<form id="display" action="resultPage.php" method="POST">

我正在尝试使用 javascript/ajax 来立即更新 div 的内容,但是如果用户关闭了 jscript,我希望将表单发布到备用页面。这是我的脚本。

$(document).ready(function() {
$('#display').submit(function(e) {
var formData = $('#services');

$.ajax({
        type: "POST",
        url: functs.php,
        data: '$formData',
        datatype: 'json',
        success: function(data) {
            if (!data.success)
            {
        $.amwnd({
        title: 'Error!',
        content: data.message,
        buttons: ['ok'],
    closer: 'ok'
    });
    }
}
});

e.preventDefault();
return false;
});
});

PHP代码:

<?php

function searchResults()
{

 require 'db_config.php';

   $sql= "SQL CODE HERE"

$theStyle = <<<HERE
"height:100%;
width:70%;
margin:4% AUTO 0;
padding:1.75em;
font-size:1.25em;
border-radius:5em;
color:white;
background-color:#b72027;
;"
HERE;



   while ($row = mysql_fetch_array($result))
      {
    echo ("<div style = $theStyle>");
    echo ("<table>");
    echo ("<tr><td>" . $row["0"] . "</td></tr>");
    echo ("<tr><td>" . $row["1"] . "</td>");
       echo ("<tr><td>" . $row["2"] . ", " . $row["3"] . " " . $row["4"] . "</td></tr>");
       echo ("<tr><td>Phone: " . $row["5"] . "</td></tr>");
       echo ("<tr><td>"  .  "<a href=\"http://" . $row["6"] . "\">" . $row["6"] . "</a>"  .     "</td></tr>");
       echo ("<tr><td>" . $row["8"] . " " . $row["9"] . ", " . $row["10"] . "</td></tr>");
    echo ("<tr><td>" . $row["11"] . "</td></tr>");
       echo ("<tr><td></td></tr>");
       echo ("<tr><td></td></tr>");
       echo ("<tr><td>" . $row["7"] . "</td></tr>");
    echo ("</table>");
    echo ("</div>");
       echo ("<br />");

    }
}

?>
4

1 回答 1

1

您的 JS 代码有几个问题。PHP 脚本名称需要是引号内的字符串,并且 formData 变量有一个不必要的“$”。试试这个:

$(document).ready(function() {
$('#display').submit(function(e) {
e.preventDefault();
var formData = $('#display').serialize();

$.ajax({
        type: "POST",
        url: 'functs.php',
        data: formData,
        datatype: 'json',
        success: function(data) {
            if (!data.success)
            {
        $.amwnd({
        title: 'Error!',
        content: data.message,
        buttons: ['ok'],
    closer: 'ok'
    });
    }
}
});

});
});
于 2013-04-07T15:26:10.633 回答