所以我試圖構建一個包含WebView的win 8應用程序。 WebView包含下面的HTML代碼(+ JavaScript)。使用JavaScript獲取選中的RadioButtons
<!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(只是一點點),所以我不知道如何編寫確切的代碼。我在網上找到了一些東西,但它沒有做到我想要的。我想擁有以下內容:
用戶可以檢查RadioButton。當用戶點擊Button時,JavaScript函數應該返回所有選中的單選按鈕(我只需要知道選中哪個RadioButton)。 因爲我知道在我的Windows 8應用程序的單選按鈕的名稱,我能做到以下幾點:
var object = WebView.InvokeScript("JavaScriptFunctionNAME", NameOfRadiobutton);
所以WebView中調用腳本,並應該得到的回報單選按鈕,這是檢查的價值。在Javascript
NameOfRadiobutton功能的
「JavaScriptFunctionNAME」 = NAME =的單選按鈕的名稱作爲參數(例如,「frage1」)。
目前我正在返回RadioGroup「frage1」中選中的單選按鈕的值。我如何通過它的參數檢查每個RadioButton?通過這個我的意思是我有一個參數「frage1」,並返回選中的RadioButton的值。在此之後,我再次使用參數「frage2」調用該函數並返回選中的RadioButtons值。任何人都可以用JavaScript函數來幫助我嗎?
我想傳遞一個參數,並根據參數獲取值。使用你的函數,我會執行'FindChecked(RadioName)'和'var elements = document.getElementsByName(RadioName)',所以我可以在我的C#程序中傳遞參數(例如'frage1'),語法是正確的這會工作嗎?順便說一句,當我使用InvokeScript時,我只能將一個字符串數組傳遞給JavaScript函數。 – Rudi
是的語法是正確的。如果您需要從您的C#代碼傳入組名,那麼您可以使用內聯服務器標籤將組名傳遞給javascript函數,例如'Function FindChecked('<%= groupName%>')' – DGibbs
編輯我的答案來解釋 – DGibbs