【问题标题】:Send single hidden field with form using javascript使用javascript发送带有表单的单个隐藏字段
【发布时间】:2016-08-28 06:25:30
【问题描述】:

目前我正在使用ASP.Net 和一个嵌套 表单。我的问题是, ASP.Net 每页只允许一个表单,但我需要一种子表单 重定向到另一个页面。

我的想法是使用 JavaScript 创建一个submit,但我不知道如何设置 post 的内容,将被发送。

例如,我尝试使用以下代码:

<div>
    <input type="hidden" value="ABCDE" />
    <input title="Send Form" onclick="this.form.method = 'post'; this.form.action = 'https://externpage/url'; this.form.submit();" type="submit" />
</div>

我的问题是,请求的内容应该只是包含ABCDEhidden fields,而不是页面上的所有字段。我如何使用JavaScriptHTML 来实现这一点?

非常感谢!

【问题讨论】:

  • 我认为在ASP.NET WEbForms 中您可以通过codebehind 中的Id 获得tag
  • 我重定向到另一个外部页面。他们需要请求内容中的隐藏值。但我不知道他们后来如何处理这个问题。
  • @UthmanRahimi 我认为我们在谈论两件不同的事情。我不需要访问服务器端的任何控件。
  • 这些代码真的在表单标签内吗?
  • 您是否尝试使用disabled html 属性将其他字段设置为禁用?

标签: javascript html asp.net forms input


【解决方案1】:

使用FormData() 进行编码。

sendForm=(e)=>{
    let data = new FormData();
    let hidden = document.querySelector('button').parentNode.firstChild.value;
    data.append('hidden',hidden);
    let xhr = new XMLHttpRequest();
    xhr.onreadystatechange=()=>(xhr.readyState == 4) ? console.log(xhr.response) : null;
    xhr.open('POST','http://yoururl.com');
    xhr.send(data);
}
document.addEventListener('DOMContentLoaded',()=>{
    document.querySelector('button').addEventListener('click',sendForm);
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-29
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多