如何使用 php 使用 jquery 和 ajax 获取 textarea 的值?
Posted
技术标签:
【中文标题】如何使用 php 使用 jquery 和 ajax 获取 textarea 的值?【英文标题】:How to get value of textarea with php using jquery and ajax? 【发布时间】:2015-05-06 09:55:41 【问题描述】:我现在正在处理我的代码,想知道你们中的一些人是否可以帮助我。我所拥有的是一个显示我的数据库中的数据的表。
<div class="cont6">
<table class="table table-bordered table-hover table-condensed">
<thead>
<tr>
<th><strong>Draft Type</strong></th>
<th><strong>Title/Subject</strong></th>
<th><strong>Draft Clause</strong></th>
<th><strong>Proposed Date</strong></th>
<th><strong>Description</strong></th>
<th><strong>Author</strong></th>
<th class="hidecol"><strong>Encrypt</strong></th>
</tr>
</thead>
<tbody>
<?php
foreach($records->result() as $row)
$date_created=$row->date_created;
$last_modified=$row->date_modified;
$content=$row->content;
?>
<tr>
<td><input type="text" required name="drafttype" id="drafttype" class="inputfont2" value="<?php echo $row->draft_type; ?>"/></td>
<td><input type="text" required name="drafttitle" id="drafttitle" class="inputfont2" value="<?php echo $row->title; ?>"/></td>
<td><input type="text" name="draftclause" id="draftclause" class="inputfont2" value="<?php echo $row->clause; ?>"/></td>
<td><input type="text" required name="draftdate" id="draftdate" class="datepicker" value="<?php echo $row->proposed_date; ?>"/></td>
<td><input type="text" name="draftjustif" id="draftjustif" class="inputfont2" value="<?php echo $row->justification; ?>"/></td>
<td><?php echo $row->author; ?></td>
<td class="hidecol"><input type="text" name="draftencrypt" id="draftencrypt" class="inputfont2" value="<?php echo $row->encrypt; ?>"/></td>
</tr>
<?php ?>
</tbody>
</table>
</div>
下面是文本区域的“内容”
<div class="cont3">
Content:
<br/>
<textarea required class="textheader" name="draftcontent" id="draftcontent"><?php echo $content; ?></textarea>
<br/>
</div>
  
<input type="button" value="Save" id="btnSave" class="btn btn-mini"/>
  Editor: <?php echo $this->session->userdata("username"); ?>
  Date Created: <?php echo $date_created; ?>
  Last Modified: <?php echo $last_modified; ?>
<p id="msg"></p>
我正要更新包括内容在内的每个字段的数据,但只更新了表中的字段。我尝试使用 jQuery 来提醒内容值,但每次我在其上输入不同的文本时,内容值都不会改变。
这是我的脚本
$("#btnSave").click(function()
alert($("#draftcontent").val());
var form_data =
drafttype: $("#drafttype").val(),
drafttitle: $("#drafttitle").val(),
draftclause: $("#draftclause").val(),
draftdate: $("#draftdate").val(),
draftjustif: $("#draftjustif").val(),
draftcontent: $("#draftcontent").val(),
draftencrypt: $("#draftencrypt").val(),
ajax: 1
;
$.ajax(
url: "<?php echo site_url("RO/edit_draft_save"); ?>",
data: form_data,
type: 'POST',
success: function(msg)
document.getElementById("msg").innerhtml = msg;
);
);
感谢您的帮助。
【问题讨论】:
【参考方案1】:你的draftcontent
在获取值时应该是js中的.text格式。
$("#draftcontent").val()
到
$("#draftcontent").text()
【讨论】:
【参考方案2】:$("#btnSave").click(function()
alert($("textarea#draftcontent").val());
var form_data =
drafttype: $("#drafttype").val(),
drafttitle: $("#drafttitle").val(),
draftclause: $("#draftclause").val(),
draftdate: $("#draftdate").val(),
draftjustif: $("#draftjustif").val(),
draftcontent: $("#draftcontent").val(),
draftencrypt: $("#draftencrypt").val(),
ajax: 1
;
$.ajax(
url: "<?php echo site_url("RO/edit_draft_save"); ?>",
data: form_data,
type: 'POST',
success: function(msg)
document.getElementById("msg").innerHTML = msg;
);
);
【讨论】:
还是一样。没有提醒我输入的文字 我之前尝试过,但没有成功。我认为问题出在:<textarea required class="textheader" name="draftcontent" id="draftcontent"><?php echo $content; ?></textarea> <br/>
把它改成 并确保没有其他元素具有相同的 id
并在脚本中像这样使用它:$("textarea#draftcontent").val()
把你的 html 改成这样: 【参考方案3】:
如果您使用 jQuery,那么请使用 $('#msg').html(msg)
而不是 document.getElementById("msg").innerHTML = msg;
。 ajax 调用类似于:
$.ajax(
url: "<?php echo site_url("RO/edit_draft_save"); ?>",
data: form_data,
type: 'POST',
success: function(msg)
$('#msg').html(msg);
【讨论】:
以上是关于如何使用 php 使用 jquery 和 ajax 获取 textarea 的值?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 jQuery AJAX 和 PHP 数组返回 [重复]
如何使用 php 使用 jquery 和 ajax 获取 textarea 的值?