C# 使用JavaScript检查单选按钮

C# 使用JavaScript检查单选按钮,c#,javascript,html,function,windows-runtime,C#,Javascript,Html,Function,Windows Runtime,因此,我正在尝试构建一个Win8应用程序,其中包括一个WebView。WebView包含下面的HTML代码(+JavaScript) 因此WebView调用脚本,并应获取RadioButton的值作为返回,该值已被选中 “JavaScriptFunctionNAME”=Javascript中函数的名称 NameOfRadiobutton=作为参数的单选按钮的名称(例如“frage1”) 目前,我正在返回radiobutton的值,它在RadioGroup“frage1”中被选中。如何通过参数检查

因此,我正在尝试构建一个Win8应用程序,其中包括一个WebView。WebView包含下面的HTML代码(+JavaScript)

因此WebView调用脚本,并应获取RadioButton的值作为返回,该值已被选中

“JavaScriptFunctionNAME”=Javascript中函数的名称

NameOfRadiobutton=作为参数的单选按钮的名称(例如“frage1”)


目前,我正在返回radiobutton的值,它在RadioGroup“frage1”中被选中。如何通过参数检查每个单选按钮?我的意思是我有一个参数“frage1”并返回选中的单选按钮的值。在此之后,我使用参数“frage2”再次调用该函数,并返回选中的RadioButtons值。有人能帮我使用JavaScript函数吗?

试试这个,它会返回选中的单选按钮名称

<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>

函数get_radio_value()
{
var nameArry=[];
var allInputs=document.myForm.getElementsByTagName('input');
对于(i=0;i
尝试此操作,将返回选中的单选按钮名称

<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>

函数get_radio_value()
{
var nameArry=[];
var allInputs=document.myForm.getElementsByTagName('input');
对于(i=0;i
单选按钮按其名称属性分组。您可以使用
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;
        }
    }
}
然后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;
        }
    }
}
函数FindChecked(){
var elements=document.getElementsByName(“”)
对于(var i=0;i
单选按钮按其名称属性分组。您可以使用
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;
        }
    }
}
然后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;
        }
    }
}
函数FindChecked(){
var elements=document.getElementsByName(“”)
对于(var i=0;i
编辑我的问题。我现在返回单选按钮的值,但只返回名为“frage1”的单选按钮的值。我想在我的C#程序中做一个for循环,通过一个参数传递RadioButton的名称。通过这个,我想调用JavaScript函数,并用传递的参数名获取RadioButton的选中值。您的解决方案目前只提供了放射组名称“frage1”的值。请编辑我的问题。我现在返回单选按钮的值,但只返回名为“frage1”的单选按钮的值。我想在我的C#程序中做一个for循环,通过一个参数传递RadioButton的名称。通过这个,我想调用JavaScript函数,并用传递的参数名获取RadioButton的选中值。您的解决方案目前只提供了RadioGroup名称“frage1”的值。我希望传递一个参数,并根据该参数获取值。使用您的函数,我将执行函数
FindChecked(RadioName)
var elements=document.getElementsByName(RadioName)
,这样我就可以在我的C#程序(例如'frage1')中传递参数,语法是否正确,或者这是否可行?顺便说一下,当我使用InvokeScript时,我只能将字符串数组传递给JavaScript函数。是的,语法是正确的。如果需要从C#代码中传入组名,则可以使用内联服务器标记将组名传递给javascript函数,例如
函数FindChecked(“”)
编辑我的答案以解释通过使用InvokeScript,我可以传递单选按钮的名称。查看此链接以了解我的意思:。“p_0”将是“frage1”,而“p_1”将是“frage2”。我会在我的C#程序中做一个for循环,并使用InvokeScript调用JavaScript函数,其中包含一个参数,该参数始终包含RadioButton的当前组名(我从for循环中获取)。总是想知道为什么您的函数不起作用。。。“;”不见了。我现在只需要将参数传递给javascript函数,就这样,但函数正在做我想要的事情。编辑:使用
FindChecked(rbname)
document.getElementsByName(rbname)工作正常,谢谢!我想传递一个参数,并根据参数获取值。使用您的函数,我将执行函数
FindChecked(RadioName)
var elements=document.getElementsByName(RadioName)
,这样我就可以在我的C#程序(例如'frage1')中传递参数,语法是否正确,或者这是否可行?顺便说一下,当我使用InvokeScript时,我只能将字符串数组传递给JavaScript函数。是的,语法是正确的。如果需要从C#代码中传入组名,则可以使用内联服务器标记将组名传递给javascript函数,例如
函数FindChecked(“”)
编辑我的答案以解释通过使用InvokeScript,我可以传递单选按钮的名称。查看此链接以了解我的意思:。“p_0”将是“frage1”,而“p_1”将是“frage2”。我会在我的C#程序中做一个for循环,用InvokeScript和1个参数调用JavaScript函数,该函数总是包含RadioButton的当前组名(我从for循环中得到的)