PHP функция с JavaScript? - PullRequest
       3

PHP функция с JavaScript?

0 голосов
/ 23 декабря 2010

В index.php есть ссылка, по которой он делает ajax-запрос на show.php .В show.php я взял эту форму:

<div id="statuscomments" style="margin: auto; ">
    <form id="RespondMsg<?php echo $id; ?>" action="javascript:ReplyToWall(<?php echo $grabwall["BuID"]; ?>, <?php echo $id; ?>)" method="post">
        <textarea name="replyMsg" type="text" style="text-align: left;" class="replyMsg<?php echo $id; ?>" rows="2" cols="42"></textarea>
        <br>
        <input name="submit" type="submit" id="submitResponse" value="Skicka">
        <br>
        <div class="response<?php echo $id; ?>"></div>
    </form>  
</div>

и обернул ее внутри функции php, которую я назвал replyFormShow (), теперь она выглядит так:call call replyFormShow () теперь будет отображаться эта форма.

Теперь форма выполняет функцию JS replyToWall () при отправке, но теперь она перестает работать, когда она внутри функции, поэтому теперь она не запускаетfunction replyToWall ().

Функция replyToWall () находится внутри functions.js, которая вызывается не в show.php, а в index.php.Но это не должно быть причиной того, что он не работает, так как работает нормально, когда его нет внутри этой PHP-функции replyFormShow ().

Почему это происходит?Как я могу решить это?

1 Ответ

1 голос
/ 23 декабря 2010

Вы должны иметь заполнитель div в вашем index.php, который Javascript код в show.php поместит в него форму, полученную с сервера.

Примерно так:

index.php

<div id="holder"></div>
<script type="text/javascript">
    function loadform(){
        $.get('show.php', [], function(data){
            $("#holder").html(data); // load the returned form into placeholder.
        });
    }
</script>
<a href="#" onclick="loadform();return false;"></a>

Я использую jQuery, например, чтобы сэкономить время. Подробнее о функции $ .get () AJAX GET в jQuery см. http://api.jquery.com/jQuery.get/,

show.php

<?php
function replyFormShow($id, $buddyId){

$test = '<div id="statuscomments" style="margin: auto; ">
    <form id="RespondMsg' . $id . '" action="javascript:ReplyToWall('.$buddyId.', '.$id.')" method="post">
        <textarea name="replyMsg" type="text" class="replyMsg' . $id . " rows="2" cols="42"></textarea>
        <br>
        <input name="submit" type="submit" id="submitResponse" value="Skicka">
        <br>
        <div class="response' . $id . "></div>
    </form>  
</div>';
return $test;

}

echo replyFormShow(0, 0);
?>

И я вижу, что вы очень запутались с тегами открытия / закрытия Javascript и PHP. И очень плохая практика блокировать формы с помощью Javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...