从 javascript 调用 jquery 函数不工作

发布于 2024-11-06 18:56:34 字数 976 浏览 0 评论 0原文

我读过类似的帖子,但目前无法工作。我的略有不同。

我调用了一个 javascript 函数 addFormField,它在表单中创建一个动态输入元素。这部分工作正常。在该函数中,我调用 JQuery 函数 loadData(id) 来测试动态创建的元素的 id 是否存在,但事实并非如此。 loadData 是否被正确调用以等待 $ 输入元素 id 创建,然后再检查它是否已创建?谢谢!

function addFormField() {
var id = document.getElementById("id").value;

$("#divTxt").append("<p id='row" + id + "'><label for='txt" + id + "'>Field " + id + "&nbsp;&nbsp;<input type='text' size='20' id='txt" + id + "'><p>");


$(function () {
    loadData(id);
});

id = (id - 1) + 2;
document.getElementById("id").value = id;
}

function loadData(id) {
if ( $('#txt' + id).length ){
        alert('success');
    }
    else {
        alert ('fail'); 
    }
}

<html>
<p><a href="#" onClick="addFormField(); return false;">Add</a></p>
<form method="get" id="form1" action='#'>
<input type="hidden" id="id" value="1">
<div id="divTxt"></div>
</html>

I read similar posts on this but fails to work at this time. Mine is slightly different.

I call a javascript function addFormField which creates a dynamic input element within a form. This part works fine. Within that function I call the JQuery function loadData(id) to test if the id of the dynamically created element exists but it does not. Is loadData being called correctly to wait $ for the input element id to be created before checking if it's created? Thanks!

function addFormField() {
var id = document.getElementById("id").value;

$("#divTxt").append("<p id='row" + id + "'><label for='txt" + id + "'>Field " + id + "  <input type='text' size='20' id='txt" + id + "'><p>");


$(function () {
    loadData(id);
});

id = (id - 1) + 2;
document.getElementById("id").value = id;
}

function loadData(id) {
if ( $('#txt' + id).length ){
        alert('success');
    }
    else {
        alert ('fail'); 
    }
}

<html>
<p><a href="#" onClick="addFormField(); return false;">Add</a></p>
<form method="get" id="form1" action='#'>
<input type="hidden" id="id" value="1">
<div id="divTxt"></div>
</html>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

优雅的叶子 2024-11-13 18:56:34

您的代码对我来说效果很好: http://jsfiddle.net/6t8eX/

只需确保 addFormField() 方法是全局。如果不是,内联 onClick 将无法找到它。

如果它被包装在 $(function () { }) 中(或任何其他函数体中),那么它就不是全局的。

Your code works fine for me: http://jsfiddle.net/6t8eX/

Just make sure that the addFormField() method is global. If it isn't, the inline onClick won't be able to find it.

If it is wrapped in $(function () { }), (or in any other function body) it won't be global.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文