gpt4 book ai didi

jquery - e.nodeName 未定义 Jquery

转载 作者:行者123 更新时间:2023-12-01 06:12:23 25 4
gpt4 key购买 nike

我绞尽脑汁,查看了示例,但不明白为什么 firebug 会抛出“e.nodeName is undefined”错误。

这可能是一些愚蠢的小支架不合适的东西,或者需要第二双眼睛才能看到的东西..

我只是为一些输入制作了一个简单的小ajax帖子,但这是我的第一篇帖子,由于到目前为止我遇到了多少错误,我几乎要拔掉一些头发了..< br/>http://jsfiddle.net/JohnnyDoe/aQYra/

我的脚本

<script type="text/javascript">
$(document).ready(function () {
$('.hexen').after('<div class="ui-state-default ui-corner-all ui-icon-disk ui-icon saveButton" onClick="save();" title="Save" style="float:left; height:20px;" onclick="save()"></div><br />') // ui icon
.keypress(function () {
$(this).next('.saveButton').show(); //appends ui icon
});

$('.saveButton').hide().click(function () {
$(this).hide(); // removes ui icon on click
});

$('.ui-state-default').hover(

function () {
$(this).addClass('ui-state-hover');
}, function () {
$(this).removeClass('ui-state-hover');
} //ui icon hover
);
});

function save(value) {
$('.hexen').each(function () {
var id = null;
});
if ($(this).val() !== '') {
id = $(this).attr('id');
}
}
$.ajax({
type: "POST",
url: "Default.aspx",
data: "{Id: " + $(".hexen").attr('id') + ", Value: " + $(".hexen").val() + "}",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
console.log(data);
}
});
</script>




我的 HTML

<div id="unvolitive">
<input type="text" class="hexen" id="Text1"/>
<input type="text" class="hexen" id="Text2"/>
<input type="text" class="hexen" id="Text3"/>
<input type="text" class="hexen" id="Text4"/>
<input type="text" class="hexen" id="Text5"/>
</div>







提前致谢

最佳答案

我认为,从一个简短的 fiddle 测试来看,问题来自于混合正常的 jQuery 事件处理程序和您在标记字符串中定义的 onclick 处理程序(您的 save 功能)。

我不确定您要在保存中执行什么操作; each 调用不执行任何操作:

$('.hexen').each(function () {
var id = null; // all this does is set a local variable
});

但更重要的是,您使用 onclick 进行设置的方式,this 将是未定义的,因此以下行将不起作用:

if ($(this).val() !== '') {

在这种情况下,this 指的是window 对象,所以我认为这就是您收到错误的原因。要修复此问题,您应该在 jQuery 分配的单击处理程序中处理保存函数:

$('.saveButton').hide()
.click(function () {
$(this).hide(); // removes ui icon on click
var id;
// get the associated input
var $input = $(this).prev('.hexen');
if ($input.val() !== '') {
id = $input.attr('id');
}
console.log(id);
// presumably, do something with id now...
});

查看working fiddle .

关于jquery - e.nodeName 未定义 Jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8797003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com