gpt4 book ai didi

javascript - 需要帮助通过 JavaScript 和 JQuery 创建基于点击的表单元素

转载 作者:行者123 更新时间:2023-11-29 20:15:39 27 4
gpt4 key购买 nike

我是网络编程的新手,我正在尝试根据单击上一个文本字段将文本字段简单地添加到特定表单。 html 页面将以一个字段开始,并根据单击任何前一个字段随着文本字段增长。这是通过客户端 JavaScript 实现的。

但是,代码似乎无法正常工作,而且我什么也做不了。显示的只是一个由 HTML 规范的文本字段,点击事件正在输出任何内容。您现在可以忽略样式。

<!DOCTYPE html>
<html>
<title>This is just a test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">
$(document).ready(function(){
var inival = 0;
function addTextBox()
{
var newArea = add_New_Element();
var htcontents = "<input type='text' name='textbx[]'/>";
document.getElementById(newArea).innerHTML = htcontents; // You can any other elements in place of 'htcontents'
}
function add_New_Element()
{
inival=inival+1; // Increment element number by 1
var ni = document.getElementById('area');
var newdiv = document.createElement('div'); // Create dynamic element
var divIdName = 'my'+inival+'Div';
newdiv.setAttribute('id',divIdName);
ni.appendChild(newdiv);
return divIdName;
}
$("input").click(function(){
addTextBox();
});
});
</script>
<body>
<div>
<form id="mainform" action="execute.php" method="post">
<input type="text" name="textbx[]"/>
</form>
</div>
</body>
</html>

最佳答案

你可以用这个替换你的整个解决方案:

$("input").click(function() {
$(this).after($(this).clone(true));
$(this).after("<br />");
});

Demo.

我更愿意使用 .delegate而不必费心克隆事件处理程序:

$("#myForm").delegate("input", "click", function() {
$(this).after($(this).clone());
$(this).after("<br />");
});

Demo.

关于javascript - 需要帮助通过 JavaScript 和 JQuery 创建基于点击的表单元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7020118/

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