У меня много forms на одной странице, есть кнопка, которая открывает текстовый редактор, который был скрыт с целью обновления текстового файла в соответствии с user_id поэтому я перебираю всех пользователей и получаю многие из них:

<form action="admin/edittoken.php" method="POST">
    <td><a id="'.$result[0]['user_id'].'" onclick="toggle_visibility(\'feedDiv\');">
        <button onclick="toggle_visibility(\'feed\');" type="button">Feed
        </button><a/></td>
    <td><button class="btn btn-default" type="submit" name="password" >Apply Changes</button></td>
    <td><input name="first_name" class="smallInput" value="'.$result[0]['first_name'].'" type="text" /></td>
</form>

Как вы можете видеть, когда я нажимаю на эту ссылку, и для каждой формы есть по одному, я показываю div с id = feedDiv

<a id="'.$result[0]['user_id'].'" onclick="toggle_visibility(\'feedDiv\');">

Идентификатор <a> - это идентификатор пользователя, и с этими данными я могу открыть нужный текстовый файл для редактирования

ТАК МОЯ ЦЕЛЬ:

  1. получить идентификатор ссылки, которая была нажата при запросе отображения div (user_id)
  2. поместите этот идентификатор между php для PDO, чтобы запросить и отобразить правильный текстовый файл

Это php

<div id="feedDiv">
    <form method="POST" action="admin/edittoken.php">
        <textarea id="feed" name="information">
            <?php $user=/ /the a Link Clicked Id Value is the user_id //need help
            here $filename=/ /equal to the PDO Result to get the right text file $handle=f
            open($filename, "r"); $contents=f read($handle, filesize($filename)); fclose($handle);
            echo $contents; ?>
        </textarea>
        <button class="btn  btn-primary yellow" type="submit" name="feed">Send Feed</button>
    </form>
</div>

Javascript пока что ...

function toggle_visibility(id) {
    var e = document.getElementById(id);
    if (e.style.display == 'block') e.style.display = 'none';
    else e.style.display = 'block';
}

JSFIDDLE: http://jsfiddle.net/EC6b4/1/

0
Gunr Jesra 29 Авг 2013 в 08:14
Если есть более быстрый способ, я открыт для предложений :) спасибо
 – 
Gunr Jesra
29 Авг 2013 в 08:20
С тегом jquery, но вы его не используете?
 – 
user557846
29 Авг 2013 в 08:21
@Gunr, во-первых, не могли бы вы сказать мне, где находится
, я имею в виду, что он находится на той же странице или на отдельной странице. Во-вторых, покажите определение функции toggle_visibility,
 – 
RONE
29 Авг 2013 в 08:21
Для целей ajax
 – 
Gunr Jesra
29 Авг 2013 в 08:21
Все в одном файле, плохо работает jsfiddle
 – 
Gunr Jesra
29 Авг 2013 в 08:22

1 ответ

Лучший ответ
<a id="'.$result[0]['user_id'].'" onclick="toggle_visibility(\'feedDiv\', this.id);">


function toggle_visibility(id, user_id) {
       var e = document.getElementById(id);
       if(e.style.display == 'block')
          e.style.display = 'none';
       else
          e.style.display = 'block';

$.post("userdetail.php", { userid: user_id },
  function(data){
    $('#'+id).html(data);
  });

}

Userdetail.php продолжает:

<form method="POST" action="admin/edittoken.php"> 
    <textarea id="feed" name="information">
    <?php
            $user = $_POST['userid']//the a Link Clicked Id Value is the user_id //need help here
            $filename = //equal to the PDO Result to get the right text file
                    $handle = fopen($filename, "r");
            $contents = fread($handle, filesize($filename));
            fclose($handle);
            echo $contents;
        ?>
        </textarea>
        <button class="btn  btn-primary yellow" type="submit" name="feed"  >Send Feed</button>  
        </form>

///// и ваш заполнитель будет похож на

<div id="feedDiv" ></div>
0
RONE 29 Авг 2013 в 08:43
Подождите, вы установили GET здесь, не так ли -> $('#'+id).load('userdetail.php?userid='+user_id); и форма method="POST" или отправляете так же, как получить
 – 
Gunr Jesra
29 Авг 2013 в 08:39
В случае ошибки вы можете использовать $ .post вместо api.jquery.com/jQuery.post см. отредактированный код выше Еще один момент, попробуйте включить последний файл jquery.js
 – 
RONE
29 Авг 2013 в 08:41
СПАСИБО :) так что вы можете смешивать jquery между функциями javascript? мм, я не знал этого и, честно говоря, чувствую себя глупо, я незнаком с ajax, что здесь происходит $('#'+id).html(data);? Куда он помещает данные HTML? или это ответ, если это так, то этот ответ готов, когда div не показывает его? Я имею в виду, что функция будет выполнять ajax-вызов файла, файл выполнит задание, поэтому мне нужно удалить исходный feedDiv? потому что при нажатии я собираюсь получить его с userdetails.php, верно? наконец, если я прав во всем этом, будет ли текстовое поле готово, когда я щелкну по нему
 – 
Gunr Jesra
29 Авг 2013 в 08:53
@GunrJesra, 1. вы можете смешивать jquery между функциями javascript: ДА. 2. $ ('#' + id) .html (данные); : получить ответ и поместить в feedDiv. т.е.
. 3. поэтому мне нужно удалить исходный feedDiv: Да, оставить его как
. 4. Будет ли текстовое поле готово, когда я щелкну по нему: для этого вы используете как $ ("button [name = feed]"). On ('click', function () {// Здесь идет код для отправки фида}) ;.
 – 
RONE
29 Авг 2013 в 09:02
Вот где я схожу с ума @SAM $('#'+id).html(data) почему #'+id? это div, я имею в виду, что id равно числу, это user_id, полученный из a> id, это не имеет смысла, если это не так '#feedDiv'?
 – 
Gunr Jesra
29 Авг 2013 в 09:06