$this.val()未获取jQuery生成的表单值
第一个脚本在单击时将文本转换为可编辑的文本字段。编辑文本后,按下提交按钮,激活第二个脚本。第二个脚本应该通过AJAX将一些信息发送到另一个页面,最终提交到数据库中。前两个变量(projectID和contactType)通过AJAX发送,但UpdateInfo(应该包含编辑文本的变量)始终为空。我想我错过了一些愚蠢的东西,但我想不出来。下面是两个脚本$this.val()未获取jQuery生成的表单值,jquery,ajax,Jquery,Ajax,第一个脚本在单击时将文本转换为可编辑的文本字段。编辑文本后,按下提交按钮,激活第二个脚本。第二个脚本应该通过AJAX将一些信息发送到另一个页面,最终提交到数据库中。前两个变量(projectID和contactType)通过AJAX发送,但UpdateInfo(应该包含编辑文本的变量)始终为空。我想我错过了一些愚蠢的东西,但我想不出来。下面是两个脚本 <script type="text/javascript"> $(document).ready(function() {
<script type="text/javascript">
$(document).ready(function() {
var alreadyActive = "";
$(".editable").on("click", function () {
if(!alreadyActive) {
OriginalText = $(this).text();
divValue = $(this).attr('value');
$(this).html("<form class='edit-form' name='" + divValue + "'><input type='text' value='" + OriginalText + "' /><input type='submit' value='Update' /></form>");
alreadyActive = "true";
}
});
});
</script>
<script type="text/javascript">
$('body').delegate('.edit-form','submit',function(e){
e.preventDefault();
var projectID = <?php echo $projectID ?>;
var contactType = $(this).attr('name');
var updatedInfo = $(this).val();
$.ajax({
url: 'editinplace.php?projectID=' + projectID + '&contactType=' + contactType + '&updatedInfo=' + updatedInfo,
});
});
</script>
$(文档).ready(函数(){
var alreadyActive=“”;
$(“.editable”)。在(“单击”,函数(){
如果(!ALREADYAACTIVE){
OriginalText=$(this.text();
divValue=$(this.attr('value');
$(this.html(“”);
alreadyActive=“true”;
}
});
});
$('body').delegate('edit form','submit',函数(e){
e、 预防默认值();
var projectd=;
var contactType=$(this.attr('name');
var updateInfo=$(this.val();
$.ajax({
url:'editinplace.php?projectID='+projectID+'&contactType='+contactType+'&UpdateInfo='+UpdateInfo,
});
});
如果试图获取表单中文本字段的值,则需要更改:
var updatedInfo = $(this).val();
致:
代码所做的是在
标记本身上查找值
属性。相反,由于您要查找的值位于
标记中,因此必须让jQuery查看该特定标记。如果您试图获取表单中文本字段的值,则需要更改:
var updatedInfo = $(this).val();
致:
代码所做的是在
标记本身上查找值
属性。相反,由于您要查找的值位于
标记中,因此您必须让jQuery查看该特定标记。实际上,您似乎正在获取表单的“值”
var updatedInfo = $(this).val();
“this”(如果我正确阅读代码)将是表单,而不是输入。正如其他回答获取按钮文本的人所提到的,请尝试$(this).text()它实际上看起来像是在获取表单的“值”
var updatedInfo = $(this).val();
“this”(如果我正确阅读代码)将是表单,而不是输入。正如其他回答获取按钮文本的人所提到的,请尝试$(this).text()在发布之前,我已经尝试了$(this).text()。Coby的回答非常有效,谢谢你的回答。我在发布之前已经尝试了$(this).text()。科比的回答很好,谢谢你的回答。