Получить данные базы данных во всплывающем окне jquery после нажатия на ссылку

0

Ниже приведена ссылка, которая показывает всплывающее окно после щелчка по нему. Я помещаю эту ссылку в оператор php while(). Потому что мне нужно редактировать данные пользователя в панели администратора.

<td width="70"><a href="#" onclick="myfunc1('<?php echo $uid;?>');"  class="big-link2"     
data-reveal-id="myModal2"><input type="button" value="Edit Details" class="button" /></a></td>

После щелчка по этой ссылке будет показано всплывающее окно Jquery с формой html, где есть 12 полей. Я хочу показать данные в этом поле на основе uid (user_id).

Функция Ajax, которую я использую, следующая:

function myfunc1(id) {
    id = id;
    $.ajax({        
            url: 'edit_user_details.php',
            type: 'post',             
            data: {'id' : id},
            success: function(response) {
            //$('#edit_user_result').html(response);          
            $('#sent_password_result'+id).html(response);
            setTimeout(function() {
            $('input[type=submit]').attr('disabled', false); 
            window.location.href = "users.php"; 
            }, 5000 );  
            } 
    });
}

С помощью этой функции ajax я могу получить ответ (например, имя, фамилию, возраст, страну, город и т.д.) Как вывод html без всплывающего окна. Но как поместить этот результат в каждое поле формы?

Всплывающая форма такая.

<div id="myModal2" class="reveal-modal3" style="width:90%; margin:a auto; color:#FFF;">
<span style="float:right; cursor:pointer;"><a class="close-reveal-modal">&#215;</a></span>
<table width="400px" border="0" cellspacing="5" cellpadding="0" style="float:left;">
  <tr>
    <td>First name</td>
    <td><input type="text" name="fname" class="tr" /></td>
  </tr> 
  <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="submit" value="Update Details" class="submit_button"/></td>
  </tr>
</table>
</div>

Примечание. Я использую этот плагин для всплывающего окна. http://zurb.com/playground/reveal-modal-plugin

Теги:

1 ответ

0

Итак, почему бы вам просто не сделать именно то, что вы делаете в своей функции успеха, а просто создать свой html в своем ответе, чтобы он обновил ваш myModal2. Затем вы можете позвонить: $ ('# myModal2'). Раскрыть().

Например, ваш html из edit_user_details.php будет выглядеть примерно так, где вы предварительно заполняете значения в своих вводах формы:

<span style="float:right; cursor:pointer;"><a class="close-reveal-modal">&#215;</a></span>
<table width="400px" border="0" cellspacing="5" cellpadding="0" style="float:left;">
  <tr>
    <td>First name</td>
    <td><input type="text" name="fname" class="tr" value="<?php echo $myfirstnamevar ?>"  /></td>
  </tr> 
  <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="submit" value="Update Details" class="submit_button"/></td>
  </tr>
</table>

и ваша функция успеха ajax будет выглядеть так:

 success: function(response) {
   $('#myModal2').html(response); //insert the html into your modal
   $('#myModal2').reveal(); //'reveal' your modal
 }
  • 0
    в edit_user_details.php странице я просто получить все данные из базы данных MySQL и echo его на этой странице. После echo этих данных я могу получить все данные в виде HTML на странице ответа, например, на странице UserDetails.php. Но как я могу поместить эти данные в поле? Вы понимаете, что я имею в виду ?
  • 0
    Хотите ли вы одновременно показать модальное И обновить значение #sent_password_result? Если вы просто хотите вместо этого показать модал, то переформатируйте ваш userdetails.php, чтобы вывести html для модала. Чтобы предварительно заполнить значение во входных данных, вам просто нужно установить его значение в HTML. Если вы хотите сделать то и другое, было бы проще, если бы вы указали json из вашего userdetails.php с информацией о пользователе, которую вы хотите использовать на своей странице.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню