通过Ajax将Textarea字段传递给php

时间:2014-01-14 10:29:10

标签: php ajax jquery textarea

我正在通过Ajax发送联系表单,所有值都正在发送和处理正常但由于某种原因消息内容未从textarea字段传递,我已尝试var note = $("textarea#note").text();var note = $("textarea#note").val();我也尝试了$("$note"),但仍无济于事。我确信正在拾取文本区域的值,但它只是没有传入字符串。

这是我的代码:

$('#formsend').click(function(){

var detail = $("input#subject").val();
var note = $("textarea#note").text();

var dataString = $('form').serialize();

$.ajax({
  type: "POST",
  url: "processmail.php",
  data: dataString,
  success: function() {
    $('#form').html("<div id='message'></div>");
    $('#message').html("<h2>Message Submitted.</h2>")
    .append("<p>Thank you for contacting me, I will be in touch soon.</p>")
    .hide()
    .fadeIn(1500);
  }
});
return false;

}); //end form ajax

但我尝试将数据传递为:

data:{
      'detail': detail
      'note': note
      }

这两种方法似乎都适用于所有字段,除了它们没有将文本区域的值传递到我的php文件。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

试试这个,你可以通过这个$("$note")获取内容,你应该使用$("#note")

$('#formsend').click(function(){

var detail = $("input#subject").val();
var note = $("#note").text();

var dataString = $('form').serialize();

$.ajax({
  type: "POST",
  url: "processmail.php",
  data: dataString,
  success: function() {
    $('#form').html("<div id='message'></div>");
    $('#message').html("<h2>Message Submitted.</h2>")
    .append("<p>Thank you for contacting me, I will be in touch soon.</p>")
    .hide()
    .fadeIn(1500);
  }
});
return false;

}); 

答案 1 :(得分:0)

只需使用$(“#note”)。val() - 如果你的textarea标识为note

,这应该有效
<textarea id="note">..</textarea>

JS:

$('#formsend').click(function(){


var detail = $("input#subject").val();
var note = $("#note").val();

$.ajax({
  type: "POST",
  url: "processmail.php",
  data: {detail: detail, note: note},
  success: function() {
    $('#form').html("<div id='message'></div>");
    $('#message').html("<h2>Message Submitted.</h2>")
    .append("<p>Thank you for contacting me, I will be in touch soon.</p>")
    .hide()
    .fadeIn(1500);
  }
});
return false;

});