使用javascript使用表单发送单个隐藏字段

时间:2016-05-03 09:18:22

标签: javascript html asp.net forms input

目前,我正在使用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>

我的问题是,请求的内容应该只是包含hidden fields的{​​{1}}而不是页面上的所有字段。如何使用ABCDEJavaScript

实现此目的

非常感谢!

1 个答案:

答案 0 :(得分:2)

使用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);
});