我在iPhone中使用UIWebView
并从资源中加载了一个HTML页面。
以下是我的HTML
网页代码:
<html>
<head>
<title></title>
<SCRIPT language="JavaScript">
function callme(id)
{
var input = 'input'+id;
document.getElementById(input).value = document.getElementById('code').value;
}
</SCRIPT>
</head>
<body>
<input type=hidden id='code' name='code'>
<a href="#" id="click1" name="click1" onclick='callme(1);'>Click1</a>
<input type="text" id="input1" name="input1">
</br>
<a href="#" id="click2" name="click2" onclick='callme(2);'>Click2</a>
<input type=text id="input2" name="input2">
</br>
<a href="#" id="click3" name="click3" onclick='callme(3);'>Click3</a>
<input type=text id=input3 name=input3>
</body>
</html>
我使用以下代码在页面上注入了一些Javascript:
[webView stringByEvaluatingJavaScriptFromString:@"var field1 = document.getElementById('code'); field1.value='Code010203';"];
我想要的是当用户点击链接第一个注入的脚本应该运行然后onclick事件的功能(callme(1)或2或3)以便链接(Click1,Click2或Click3)应该执行。
答案 0 :(得分:1)
function callme(id)
{
injectedCode();
var input = 'input'+id;
document.getElementById(input).value = document.getElementById('code').value;
}
注入的代码是:
[webView stringByEvaluatingJavaScriptFromString:@"var field1; function injectedCode() {field1 = document.getElementById('code'); field1.value='Code010203';}"];
答案 1 :(得分:0)
我不是100%确定我理解你的问题。
如果您希望click事件运行注入的代码,这种方法是否适合您:
(这是下面注入的代码)
document.querySelector("#click1").onclick = function() {
// do your new stuff here
clickMe(1);
};
你可以通过一些努力来实现这种通用。
document.querySelector("a[id^=click]").onclick = function() {
// do your new stuff here
var clickMeArg = this.id.substring("click".length);
clickMe(parseInt(clickMeArg, 10));
};