2012-07-09 82 views
2

我有一个简单的形式,像这样的:如何使用Javascript设置表单元素的值?

<form ENCTYPE="multipart/form-data" action="upload.php" method="POST"> 
<p>UPLOAD FILE: <input type="file" name="file1"> <br /></p> 
<input type="submit" value="Upload"> 
<input type="hidden" name="email" id="email" value=""> 
</form> 

我不得不隐藏字段的值设置为邮件像“[email protected]”。 我可以从通过外部的iframe添加查询字符串参数等获得此值:

<iframe name="[email protected]" src="[email protected]"> 

确定。但是,我怎样才能将value =“”设置为value =“[email protected]”? 我知道必须使用javascript,但我不知道如何处理var。

+0

你也可以填补它在服务器端,如果你想 - 你可以让你的index.html使用一些服务器端处理,当你生成表单时,接收email参数并将其插入到字段中。但是,使用JavaScript也很容易。 – Rup 2012-07-09 10:46:44

+0

查看[这个问题](http://stackoverflow.com/questions/901115/get-query-string-values-in-javascript)来提取查询字符串值。有些解决方案可能对您需要的东西有点过分,但它们也很强大。 – Rup 2012-07-09 10:51:53

回答

3
document.getElementById('Id').value='new value'; 

答案评论: 试试这个:

<input type="" name="email" id="email"> 

<iframe id="frm" name="[email protected]" src="[email protected]"> 
</iframe> 

<script> 
document.getElementById('email').value = document.getElementById('frm').name; 
</script> 

则可以更改采纳。更改类型为隐藏等。

+1

好吧,但这个值是动态的。 我必须从外部iframe的querystring参数中提取它。 这是我的问题:/ – user840718 2012-07-09 10:49:13

+0

@ user840718请参阅更新。 – F0G 2012-07-09 10:56:59

0

正如您已将此问题标记为jQuery您可以使用$('#Id').val('new value');但请不要忘记添加jQuery Library。

+0

告诉其他用户该var是动态的。 我不知道我该如何处理val('新值')。 – user840718 2012-07-09 10:51:01

2

如果你的脚本是从iframe中的文件执行的,你可以这样做:

var getUrlParameter = function(name, defaultValue) { 
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
    var regexS = "[\\?&]"+name+"=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(document.location.href); 
    if(results == null) return defaultValue; 
    else return decodeURIComponent(results[1]); 
}; 

document.getElementById('email').value=getUrlParameter('email'); 
+0

@你是对的。编辑。 – 2012-07-09 10:58:29

+0

好吧,这对我有效。 谢谢。 – user840718 2012-07-09 11:00:39

相关问题