【问题标题】:Using JavaScript to populate a hidden field from URL parameter使用 JavaScript 从 URL 参数填充隐藏字段
【发布时间】:2015-07-24 13:57:31
【问题描述】:

我正在尝试使用此 JavaScript 代码填充隐藏字段:

var msg = window.location.href.match(/\?FieldName=([^#?&]*)/);
if (msg) {
    document.getElementById("FieldID").value = decodeURIComponent(msg[1]);
}

表格如下:

<form onsubmit="return Confirm2.render('Are you sure?');" parentpageid="####" siteid="####" pageid="####" action="formurl.com/" method="post" id="formid">
    <input type="hidden" id="FieldID" name="FieldName" VALUE="" /> 
</form>

有什么建议吗?

【问题讨论】:

  • 您的表单没有显示出来。
  • 如果msg 验证并且FieldID 是您隐藏输入的ID,则设置该值就足够了。问题仍然存在,Confirm2 在做什么?你的标记怎么样?也许你应该提供一个Fiddle

标签: javascript html forms url hidden


【解决方案1】:

使用函数next函数获取url参数:How can I get query string values in JavaScript?

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
    results = regex.exec(location.search);
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

如果您希望在加载页面时填充隐藏字段。然后将以下代码放在文档的末尾,就在 main.js 文件的末尾之前

(function () {
'use strict';
    var value = getParameterByName('FieldName');
    if (value !== '')
        document.querySelector('#hiddenField').value = value;
})();

jQuery解决方案:

$(function () {
    var value = getParameterByName('FieldName');
    if (value !== '')
        $('#hiddenField').val(value);
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多