簡體   English   中英

AJAX將低谷Jquery發布到PHP

[英]AJAX post trough Jquery to PHP

嗨,我嘗試用jquery發布一些值以在PHP中使用它們,但問題是我無法使其正常工作。

這是我的代碼:

 <script type="text/javascript">
        $(document).ready(function() {
            var max_fields      = 100; //maximum input boxes allowed
            var wrapper         = $(".input_fields_wrap"); //Fields wrapper
            var add_button      = $(".add_field_button"); //Add button ID
            var buttonpressed = $(".Totalform"); //Add button ID

            var x = 1; //initlal text box count

            //first one needs the code to so here.
            var arrayFromPHP = <?php echo json_encode($a); ?>;
            $("#country" + x).select2({
                data: arrayFromPHP
            });

            $(add_button).click(function(e){ //on add input button click
                e.preventDefault();

                if(x < max_fields){ //max input box allowed
                    x++; //text box increment

                    $(wrapper).append('' +
                        '<div>' +
                        '<select id="country'+ x +'" style="width:300px;" value="Selecteer uw artikel">' +
                        '</select>' +
                        '<a href="#" class="remove_field">Remove</a>' +
                        '</div>' +
                        '<div><input type="number" name="quantity'+ x +'" min="1" max="10"><a href="#" class="remove_field">Remove</a></div>'
                    );
                    //same code as above becouse need to apply this to the list again.
                    $("#country" + x).select2({
                        data: arrayFromPHP
                    });
                }

            });

            $(wrapper).on("click",".remove_field", function(e){ //user click on remove text
                e.preventDefault(); $(this).parent('div').remove(); x--;
            });
        });

            // THIS PART IS POST
            $(buttonpressed).click(function(e){ //on add input button click
                e.preventDefault();
                $.ajax({
                    type: "POST",
                    url: "submitsubform.php",
                    data: {teller: x},
                    success: function () {
                    }
                });
            });

    </script>

我在帖子部分的代碼中添加了注釋。 我也有HTML中的這段代碼:

<form method="post">
        Bedreifsnaam:<br>
        <input type="text" id="Bedrijfsnaam" name="Bedrijfsnaam" value="Autobanden.nl" disabled><br>
        Email:<br>
        <input type="text" name="lastname" value="voorbeeld@mail.com" disabled><br>
        product:<br>
        <div class="input_fields_wrap">
            <!-- This is the button I count X on. -->
            <button name="counterknop" value="Add item" class="add_field_button">Add product</button>
            <div>
                <select id="country1" style="width:300px;">
                    <!-- Dropdown List Option -->
                </select>
            </div>
            <div><input type="number" name="quantity1" min="1" max="10"></div>
        </div>
        <br><br>
        <input type="submit" id="Totalform" name="Totalform" value="Submit">
    </form>

因此,從理論上講,我希望單擊按鈕即可執行x++並且可以正常工作。 然后通過POST將其發送到我的PHP文件,並將該值放在那里的PHP變量中:

// This is in the index.php file like the Script and HTML
if(isset($_POST['Totalform']))
{
    include 'submitsubform.php';       
    echo 'test';
}

// This is in submitsubform.php
<?php
$var = $_POST['teller'];
echo $var;

因此,在這一點上,我嘗試了很多調試,但是似乎無法找到問題,我從所有這些代碼中得到的唯一錯誤是:

注意:未定義的索引:第3行的C:\\ xampp \\ htdocs \\ OIA \\ submitsubform.php中的櫃員

因此,當我嘗試多次單擊按鈕以遞增x並在之后提交表單時。 它什么也沒做。 它只是給出了以上錯誤。

大約2或3個小時后,我以為我會在這里發布此消息,也許有人看到了我看不到的東西。

在此先感謝您,並祝您編程愉快!

附加1:

當我對發布的表單進行var dump時,它沒有看到下拉菜單或2個普通文本字段。 它只看到“ aantal”(數字字段)

array(3){[“ quantity1”] => string(1)“ 3” [“ quantity2”] => string(1)“ 1” [“ Totalform”] => string(6)“ Submit”}

編輯:

從我的頭開始是個腦袋。 我禁用了2個文本字段。 但是,它仍然不會將選擇框視為字段,因此它不會將其發布

您的ajax成功功能為空

success: function () {}

因此,您無需從ajaxed頁面返回任何內容,您需要更改您的php和js以返回結果

嘗試提醒ajax結果

success: function (data) {
 alert(data);
}

如果單擊提交按鈕后頁面正在重定向,那么您不是在做ajax

發生這種情況僅僅是因為您運行了兩個請求。 一個帶有該帖子的ajax,另一個帶有html提交操作的帖子。 因此,html提交操作永遠不會獲得出納變量。 您只可以將出納員變量作為隱藏輸入插入,而根本不執行ajax請求。

我認為您無法獲取x變量。 它不是全局變量。

X變量仍位於$(document).ready(function(){})標記上

嘗試刪除該標簽或將您的$(buttonpressed).click(function(e){}); $(document).ready(function(){}) 內的標簽

希望有幫助

jQuery.ajax({type:“ POST”,

 data: { "teller" : x},
 success: function () {
 }

});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM