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に戻す方法を知りたいのですが、どこが間違っているのかを誰かに教えてもらえれば幸いです。

MSSQLDBを使用しています。

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

デバッグしてみてください。

まず、PHPによって生成された結果のHTMLを調べます。

すべての値が正しい場合は<input name="squares" onclick="..." />、ブラウザコンソールで生成されたjavascriptを実行してみてください。

からの呼び出しajaxCases()がサーバーに送信される場合は、URLを調べてください(正しく形成されているかどうか)。

もしそうなら-サーバースクリプトが何を返すか、そしてそれが入力値で何をするかをチェックしてください。

お役に立てば幸いです。

于 2012-10-15T09:47:57.010 に答える
0

Squaresは確かにGET変数であり、次のようにアクセスできます$_GET['Squares']::

$_GET['Squares']が返された場合はundefined、正しいURLを呼び出していることを確認してください。

于 2012-10-15T09:45:31.177 に答える