2016-09-24 105 views
0

我试图通过url运行JavaScript代码以更改页面中窗体的值。 这是HTML页面的内容。通过网址将JavaScript注入页面

javascript:document.getElementById('name').value = 'string1'; 

会发生什么事是我的整个页面将变为空白,只值“字符串1”将显示在页面:

<html> 
<body> 
<form method='post'> 
Name: <input type='text' id='name' value='' /><br /> 
Family: <input type='text' id='family' value='' /><br /> 
Email: <input type='text' id='email' value='' /><br /> 
<input type='submit' value='Submit' /><br /> 
</form> 
</body> 
</html> 

现在,我在镀铬的URL部分,输入以下值。 然而,运行下面的代码工作正常:

javascript:document.getElementById('name').value = 1; 

它将改变名称字段为1 我不知道是什么原因造成这个问题的价值。

注意:此工作的目的是在android中的webview中注入代码。

任何意见表示赞赏。

+0

在jsfiddle上可以正常工作:https://jsfiddle.net/kscqdsw0/ –

+0

在firefox,chrome和android webview中,它有相同的问题。 –

+0

你准备好文件吗?因为我认为错误在于此。 –

回答

-1

那是因为你的属性值

value='' 

后使用单引号,你改变它的使用

​​

使HTML变得

<input type='text' id='name' value=''string1'' 

在JavaScript值你可以修复它使用

value="" 

或使用

document.getElementById('name').value="string1"; 
+0

这并没有解决问题。我将html更改为双引号或脚本来加双引号,或者两者都加双引号,但是这三个都失败了,并没有解决问题。 –

-1

以及我尝试下面的代码

<html> 
<body> 
<form method='post'> 
Name: <input type='text' id='name' value='' /><br /> 
Family: <input type='text' id='family' value='' /><br /> 
Email: <input type='text' id='email' value='' /><br /> 
<input type='submit' value='Submit' /><br /> 
</form> 
<button onclick="change()">Click me</button> 
<script> 
function change(){ 
var obj=document.getElementById('name'); 
obj.value="string1"; 

} 
</script> 
</body> 
</html> 

和它工作得很好的问题是在你的脚本 你创建了一个函数来更改数值或只是将代码放在脚本标签中,像这样

<script>document.getElementById('name').value="String1";<script> 
0

试试这个。

javascript:document.getElementById('name').value = 'string1'; undefined; 

固定在'未定义'上到任何返回字符串的脚本。