Form inside of $.load not posting correctly

2018-12-31 08:43发布

Well here's what I got, basically a button is clicked and the following code is executed:

    Readthis = "MonsterRequest.php?id=<?php echo $_REQUEST['id']; ?>&Mon=";
    TestVar = TestVar.replace(/\s/g, "");
    Readthis = Readthis + htmlencode(TestVar);
    $('#CenterPiece').load(Readthis); 

Everything seems to work as intended except for when passed to Monsterequest.php, the post isn't being passed onto it's self and the page basically reloads it's self as it was being passed onto the main parent...(I was unsure if it was but monsterrequest.php seems to work perfectly fine on it's own however when loaded it doesn't work as intended at all and I'm completely stumped. I basically want to post data without having the page reloaded.

Monsterrequest.php: http://pastebin.com/fiFjjBZg

2条回答
步步皆殇っ
2楼-- · 2018-12-31 09:05

Are you familiar with AJAX? Forgive me if you know this already, but in case you don't:

Ajax posts data to an external php file, which processes the data it receives, and sends back an answer. It looks like this:

FILE #1:

<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                $('#Sel').change(function() {
                    var opt = $(this).val();
                    var someelse = 'Hello';
                    var more_stuff = 'Goodbye';
                    $.ajax({
                        type: "POST",
                        url: "receiving_file.php",
                        data: 'selected_opt=' + opt + '&something_else=' +someelse+'&more_stuff='+more_stuff,
                        success:function(data){
                            alert('This was sent back: ' + data);
                        }
                    });
                });
            });
        </script>
    </head>
<body>

<select id = "Sel">
    <option value ="Song1">default value</option>
    <option value ="Song2">Break on through</option>
    <option value ="Song3">Time</option>
    <option value ="Song4">Money</option>
    <option value="Song5">Saucerful of Secrets</option>
</select>

FILE #2: receiving_file.php

<?php
    $recd = $_POST['selected_opt'];
    echo 'You chose: ' . $recd;
查看更多
与君花间醉酒
3楼-- · 2018-12-31 09:25

I basically want to post data without having the page reloaded

Use jQuery's $.post(...)

Cheers

查看更多
登录 后发表回答