1

我有一个包含变量的 PHP 页面,我有一些径向框,单击它们时,它会计算您单击的项目的价格。我通过激活一个已将一些变量传递给的 js 函数来做到这一点。像这样。

PHP:

$result = mssql_query("SELECT * FROM Segments ORDER BY 'Squares'");
    if (!$result) {
        echo 'query failed';
        exit;               
    }

    while ($row = mssql_fetch_array($result)) { ?>

    <span><?php echo $row["Squares"]; ?></span>
    <input name="squares" type="radio" 
        onclick="ajaxCases('<?php echo $row["Squares"]; ?>', '<?php echo $row["StartCaseID"]; ?>', '<?php echo $row["StartMatrixPrice"]; ?>')" value="<?php echo $row["Squares"]; ?>"
        <?php if ($row["Squares"] == "1") { ?> checked="checked" <?php }else{ ?> checked="" <?php } ?>/>
<?php } ?>

如您所见,onclick 转到了一个名为 ajaxcases 的函数,该函数如下所示。

function ajaxCases(squares,start,price){
    $('#step1').html('<p style="margin:100px 0px 0px 100px"><img src="images/ajax-loader-bigindic.gif" width="32" height="32" alt="" /></p>');
    $('#step1').load("ajax-styles.php?squares="+squares);
    prevId1 = "";
    document.varsForm.caseid.value=start;
    $('#step1price').html('<span style="margin:0px 0px 0px 30px"><img src="images/ajax-loader-price.gif" width="24" height="24" alt="" /></span>');
    $('#step1price').load("ajax-step1-price.php?Squares="+Squares);
    return true;
}

然后转到一个名为 ajax-step1-price.php 的 php 页面,我尝试回忆变量 Squares。但是它不起作用,我认为它是一个 GET 但是返回未定义。

总结:我想知道如何将变量从 PHP 传递给 JS,然后再传回 PHP,或者如果有人能告诉我哪里出错了,我将不胜感激。

我正在使用 MS SQL 数据库。

4

3 回答 3

1

检查您的函数签名。

你有:

function ajaxCases(squares,start,price){

应该:

//                 |-------- capital S
function ajaxCases(Squares,start,price) {

或者更好的是,改变这个:

$('#step1price').load("ajax-step1-price.php?Squares="+Squares);

对此:

//                                                    v--- lowercase s
$('#step1price').load("ajax-step1-price.php?Squares="+squares);

JavaScript 变量区分大小写

于 2012-10-15T09:47:27.830 回答
0

Squares 确实是一个 GET 变量,您可以像这样访问它$_GET['Squares']

如果$_GET['Squares']返回undefined,请验证您调用的 URL 是否正确。

于 2012-10-15T09:45:31.177 回答
0

尝试调试它。

首先查看 PHP 生成的 HTML。

如果所有值都正确,请尝试<input name="squares" onclick="..." />在浏览器控制台中运行生成的 javascript。

如果调用来自ajaxCases()服务器,请查看 URL - 它是否格式正确。

如果是 - 检查服务器脚本返回的内容以及它对输入值的作用。

希望有帮助。

于 2012-10-15T09:47:57.010 回答