[英]Get Checked RadioButtons using JavaScript
因此我正在尝试构建一个包含WebView的Win 8应用程序。 WebView包含下面的HTML代码(+ JavaScript)。
<!DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' >
<script type='text/javascript'>
function get_radio_value()
{
for (var i=0; i < document.myForm.frage1.length; i++)
{
if (document.orderform.frage1[i].checked)
{
var rad_val = document.myForm.frage1[i].value;
return rad_val;
}
}
}
</script>
<title>Kundenfragebogen</title>
</head>
<body>
<h1>Kundenfragebogen</h1>
<div id='myDiv'>Hello</div>
<form name='myForm' action=''>
<table border='2'>
<tr>
<td></td>
<td>sehr gut</td>
<td>gut</td>
<td>schlecht</td>
</tr>
<tr>
<td>Wie geht es Ihnen?</td>
<td><input type='radio' name="frage1" value='1'/>Mir ging es noch nie besser!</td>
<td><input type='radio' name="frage1" value='2'/>Es geht mir so wie immer.</td>
<td><input type='radio' name="frage1" value='3'/>Heute geht einfach gar nichts…</td>
</tr>
<tr>
<td>Können Sie Auto fahren?</td>
<td><input type='radio' name="frage2" value='1'/>Ja</td>
<td></td>
<td><input type='radio' name="frage2" value='3'/>Nein</td>
</tr>
<tr>
<td>Möchten Sie unseren Newsletter abonnieren?</td>
<td><input type='radio' name="frage3" value='1'/>Ja</td>
<td></td>
<td></td>
</tr>
</table>
<input type='button' value='Formular absenden' onclick="return get_radio_value()"/>
</form>
</body>
</html>
因此,html包含一些单选按钮和一个按钮。 我大约2年前就使用过JavaScript(仅使用了一点),所以我真的不知道如何编写确切的代码。 我已经在互联网上找到了一些东西,但是它并没有满足我的要求。 我想要以下内容:
用户可以检查单选按钮。 当用户单击Button时,JavaScript函数应该返回所有选中的单选按钮(我只需要知道选中了哪个RadioButton)。 由于我知道Windows 8应用程序中RadioButton的名称,因此可以执行以下操作:
var object = WebView.InvokeScript("JavaScriptFunctionNAME", NameOfRadiobutton);
因此,WebView将调用脚本,并应作为返回值获得RadioButton的值,该值将被检查。
“ JavaScriptFunctionNAME” = Javascript中的函数名称
NameOfRadiobutton =作为参数的RadioButton的名称(例如“ frage1”)。
当前,我正在返回单选按钮的值,该值在RadioGroup“ frage1”中进行了检查。 如何检查每个RadioButton的参数? 我的意思是,我有一个参数“ frage1”并返回已检查的RadioButton的值。 此后,我再次使用参数“ frage2”调用该函数,并返回已检查的RadioButtons值。 有人可以帮我解决JavaScript函数吗?
单选按钮按其name属性分组。 您可以使用document.getElementsByName
获取单选按钮的集合,并查看每个按钮的检查状态,例如:-
function FindChecked() {
var elements = document.getElementsByName("frage1")
for (var i = 0; i < elements.length; i++) {
if (elements[i].checked) {
return elements[i].value;
}
}
}
将返回其组中选中的单选按钮的值。
编辑:要将组名从C#代码传递到此函数,您可以执行以下操作:-
public class YourClass
{
public string GroupName { get { return "frage1"; } }
}
然后,javascript函数将变为:
function FindChecked() {
var elements = document.getElementsByName('<%= this.GroupName %>')
for (var i = 0; i < elements.length; i++) {
if (elements[i].checked) {
return elements[i].value;
}
}
}
试试这个,这将返回单选按钮的选中名称
<script type='text/javascript'>
function get_radio_value()
{
var nameArry = [];
var allInputs = document.myForm.getElementsByTagName('input');
for (i = 0; i < allInputs.length; i++) {
if (allInputs[i].type == 'radio' && allInputs[i].checked ) {
nameArry.push(allInputs[i].name);
}
}
alert(nameArry)
}
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.