Ajax проблема с окном редактирования - PullRequest
0 голосов
/ 14 января 2011

Ну, в основном у меня есть следующий код (я использую jQuery).Я использую код ниже, чтобы динамически обновлять поле через пост ajax.Все работает нормально, но когда я использую код для динамически генерируемого контента с более чем одним полем ввода, этот код не работает.Я пользуюсь "вживую", но кажется, что это не работает.Любое решение?Заранее спасибо.

Мой HTML-код:

<span class="text_wrapper">
<span class="imageInf"><a href="tag/1235">1235</a></span>
<a href="javascript:;" class="edit_link" title="Add/Edit">
<img src="i/edit.png" class="middle">
</a>
</span>
<span class="edit" style="display:none"><input type="text" class="editbox" name="mediatags" value="1235"></span>

Мой код JavaScript:

//ajax edit box
$(document).ready(function()
{
//Edit link action
$('.edit_link').live("click", function()
{
$('.text_wrapper').hide();
var data=$('.text_wrapper').html();
$('.edit').show();
$('.editbox').html(data);
$('.editbox').focus();
});
//Mouseup textarea false
$(".editbox").mouseup(function()
{
return false
});
//Textarea content editing
$(".editbox").live("change", function()
{
$('.edit').hide();
var boxval = $(".editbox").val();
var dataString = 'data='+ boxval;
$.ajax({
type: "POST",
url: "editPicName.php",
data: dataString,
cache: false,
success: function(html)
{
$('.text_wrapper').html(boxval);
$('.text_wrapper').show();
}
});
});
//Textarea without editing.
$(document).mouseup(function()
{
$('.edit').hide();
$('.text_wrapper').show();
});
});

1 Ответ

1 голос
/ 14 января 2011

Если вы хотите передать более 1 параметра в вашем почтовом запросе, вам нужно включить в опцию «data» функции $ .ajax.

Допустим, вы хотите передать значения 2 полей ввода "data1" и "data2"

Ваш вызов $ .ajax будет выглядеть так


$.ajax({
  type: "POST",
  url: "editPicName.php",
  data: "data1=value1&data2=value2",
  cache: false,
  success: function(html)
  {
    $('.text_wrapper').html(boxval);
    $('.text_wrapper').show();
  }
});


где я предполагаю, что «value1» и «value2» являются текущими значениями этих полей ввода.

Вы также можете отправить опцию данных вызова $ .ajax как JSON. Я бы порекомендовал вам сделать это так (выглядит чище)


$.ajax({
  type: "POST",
  url: "editPicName.php",
  data: ({data1 : "value1", data2 : "value2"}),
  cache: false,
  success: function(html)
  {
    $('.text_wrapper').html(boxval);
    $('.text_wrapper').show();
  }
});


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