Форма внутри $.load не публикуется правильно

Хорошо, вот что я получил, в основном нажата кнопка, и выполняется следующий код:

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

Кажется, что все работает как задумано, за исключением случаев, когда они передаются в Monsterequest.php, сообщение не передается самому себе, и страница в основном перезагружает себя, как оно передавалось основному родителю... (Я не был уверен, был, но monsterrequest.php, кажется, работает отлично, сам по себе, однако, при загрузке он не работает, как задумано, и я полностью озадачен. Я в основном хочу опубликовать данные без перезагрузки страницы.

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

2 ответа

Решение

Вы знакомы с AJAX? Простите, если вы уже знаете это, но если вы не знаете:

Ajax отправляет данные во внешний php-файл, который обрабатывает полученные данные и отправляет ответ. Это выглядит так:

ФАЙЛ № 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>

ФАЙЛ № 2: receive_file.php

<?php
    $recd = $_POST['selected_opt'];
    echo 'You chose: ' . $recd;

Я в основном хочу опубликовать данные без перезагрузки страницы

Используйте jQuery's$.post(...)

ура

Другие вопросы по тегам