我想在提交表单时同时发送选项框的值和键。我觉得这应该很简单,但我不确定该怎么做。下面是我的表单的一个片段,用来演示我所引用的内容:
<form name='form' onSubmit="return checkForm();" action="../servlet/AccountRequest">
<select name="type1">
<option value="1">Option A</option>
<option value="2">Option B</option>
</select>
<br/><input type="button" id="Submit" onclick="checkForm(this.form)" value="Request" />
<input type="reset" value="Cancel"/>
</form>
在正常情况下,如果我在下拉框中选择了“Option A”,我会发送值或“1”。但是,我实际上想发送选择的值和键,在本例中是“1”和“Option A”。
在我的例子中,我调用了一个checkForm()JavaScript函数来验证表单输入(还有其他字段,如First Name、Last Name、Email Address和Password),然后将参数转发给一个Java类(AccountRequest)。我确信有一种方法可以在单击“Request”按钮时将键存储为变量,只是不知道该怎么做。
任何帮助都将不胜感激!
7条答案
按热度按时间ipakzgxi1#
您可以使用JSON表示数据:
ef1yzkbh2#
这可能不是您所期望的方法,但是您可以将键/值对作为值发送,并在服务器端接收到它时对其进行解析。
1cosmwyk3#
在HTML中,这是不可能的:当存在时,由X1 M0 N1 X元素贡献的数据被 * 定义 * 为所选X1 M2 N1 X的X1 M1 N1 X属性(否则为所选X1 M3 N1 X元素的内容)。
在JavaScript中,一旦你决定了内容(描述中的“key”)应该如何传递,这就非常简单了。最简单的方法是,你可以把内容附加到
value
属性,在字符串之间用一些分隔符;那么您必须解析服务器端,但这也很简单。然而,
option
元素的一个基本思想是,内容是用户界面中可见的字符串,用户可以理解,而value
属性是机器可读的、易于处理的数据。服务器应该只需要来自value
属性的数据;否则就存在需要修复的设计缺陷。tzxcd3kk4#
您可以加入下列程式码,在
checkform
函数中取得所选<option>
标签的文字:DEMO, which tells you the key that's selected
pgky5nke5#
使用复合值,然后在服务器上解析它:
kd3sttzy6#
您可以在隐藏输入类型的情况下发送值
1.-选择缺省值:
2.-将onChange函数添加到select中,该函数将更改以前隐藏值
假设您使用的是jQuery:
因此select的值将在type 1Value变量中发送,EASY!!
llew8vvj7#
使用React js
我想同时从选项中获取两个值,因此使用Split方法
我在选项上创建一个sting