【问题标题】:How to set the value of a form element using Javascript?如何使用 Javascript 设置表单元素的值?
【发布时间】:2012-07-09 10:44:29
【问题描述】:

我有一个像这样的简单表格:

<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@email.com”之类的电子邮件。 我可以通过外部 iframe 添加查询字符串参数来获取此值,例如:

<iframe name="email@email.com" src="index.html?email=email@email.com">

好的。但是如何将 value="" 设置为 value="email@email.com"? 我知道必须使用 javascript,但我不知道如何处理 var。

【问题讨论】:

  • 如果需要,您也可以在服务器端填写它 - 您可以让 index.html 使用一些服务器端处理,获取 email 参数并在生成时将其插入到字段中表格。但是使用 JavaScript 也很容易做到这一点。
  • 请参阅this question 以提取查询字符串值。有些解决方案可能有点超出您的需求,但它们也很强大。

标签: javascript jquery forms iframe mootools


【解决方案1】:
document.getElementById('Id').value='new value';

回复评论: 试试这个:

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

<iframe id="frm" name="email@email.com" src="index.html?email=email@email.com">
</iframe>

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

然后你可以改变采用它。将类型更改为隐藏等。

【讨论】:

  • 好的,但是这个值是动态的。我必须通过外部 iframe 从查询字符串参数中提取它。这是我的问题:/
【解决方案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');

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 告诉其他用户 var 是动态的。我不知道如何处理 val('new value')。
    猜你喜欢
    • 1970-01-01
    • 2015-02-05
    • 1970-01-01
    • 2015-11-05
    • 2013-07-04
    • 1970-01-01
    • 1970-01-01
    • 2013-01-13
    • 1970-01-01
    相关资源
    最近更新 更多