gpt4 book ai didi

java - 在 Wicket 口中的按钮单击事件上动态添加文本字段和表单下拉列表。

转载 作者:行者123 更新时间:2023-12-02 05:07:30 25 4
gpt4 key购买 nike

我正在尝试使用 wicket 框架在按钮单击事件的表单中添加文本字段和下拉框。使用 JavaScript 在 html 页面上使用唯一的 wicket:id 动态生成文本字段和下拉菜单。在 java 页面上,如何在提交按钮时将动态生成的文本字段的值存储在字符串类型数组中。

HTML 中的 Java 脚本,用于生成文本字段和下拉框

<SCRIPT type="text/javascript">
var intTextBox=0;
function f()
{

intTextBox = intTextBox + 1;
var testdiv = document.getElementById('testdiv');
var testdiv1 = document.getElementById('testdiv1');
var newTBDiv = document.createElement('div');
var newTBDiv1 = document.createElement('div');
var data0="A";
var data1="B";
var data2="C";
var data3="D";
var data4="E";
var data5="F";

newTBDiv.setAttribute('id','strText'+intTextBox);
newTBDiv.innerHTML = "Field "+intTextBox+":<input type='text' wicket:id='id"+intTextBox + "' size='"+50+"' maxlength='"+100+"''/>";
newTBDiv1.innerHTML = "<select wicket:id='dropdownid"+intTextBox+"' style=width:10em;> <option>"+data0+"</option> <option>"+data1+"</option> <option>"+data2+"</option> <option>"+data3+"</option> <option>"+data4+"</option> <option>"+data5+"</option></select>";
testdiv.appendChild(newTBDiv);
testdiv1.appendChild(newTBDiv1);
return true;
}
</SCRIPT>

在Java文件中我正在尝试做

  String textFielddata[] = new String[intTextfieldcount];
String textFieldtype[] = new String[intTextfieldcount];
int count=0;
for(int i=0;i<intTextfieldcount;i++)
{
count=count+1;

form.add(new TextField<String>"id"+count).setRequired(true));
form.add(new new DropDownChoice<String>("dropdownid"+count).setRequired(true));
//downControl.add(new TextField<String>("id"+count,new PropertyModel<String>(this,"id"+count))).setOutputMarkupId(true);
textFielddata[i]=form.getDefaultModelObjectAsString("id"+count);
textFieldtype[i]=form.getDefaultModelObjectAsString("dropdownid"+count);
System.out.println(textFielddata[i]);
System.out.println(textFieldtype[i]);
}

textFieldData[]和textFieldtype[]是字符串类型数组,inttextfieldcount是整数类型,其值等于动态生成的Text Field和下拉框的数量

输出:编号1dropdownid1

id2dropdownid2

问题是它没有显示动态生成的文本字段中的数据并选择下拉框的值

或者建议我在 Wicket 中以任何其他方式实现此功能而不使用 JavaScript

最佳答案

您可以正常创建下拉列表和文本字段,然后将它们最初隐藏。然后使用按钮单击事件处理程序通过 ajax 显示组件。

关于java - 在 Wicket 口中的按钮单击事件上动态添加文本字段和表单下拉列表。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27647890/

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