Ajax编辑框问题

时间:2011-01-14 08:30:59

标签: jquery ajax

好吧,基本上我有以下代码(我正在使用jQuery)。我正在使用下面的代码通过ajax post动态更新字段。一切正常,但是当我使用代码来生成具有多个输入字段的动态内容时,该代码无效。我正在使用“直播”,但似乎这不起作用。有解决方案吗提前谢谢。

我的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 个答案:

答案 0 :(得分:1)

如果您想在帖子请求中传递多个参数,则需要包含$ .ajax函数的“data”选项。

所以说你要传递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();
  }
});