javascript - 从 HTML 表单中检索输入作为 URL
问题描述
基于 w3schools 教程 ( https://www.w3schools.com/html/tryit.asp?filename=tryhtml_form_submit ),下面的表单将以下列格式提交其输入:firstname=Mickey&lastname=Mouse。有没有办法使用 javascript 或 JQuery 提取这种格式的输入?谢谢!
<form action="/action_page.php">
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</form>
解决方案
为了将输入字段值发送到 URL,您必须使用 JavaScript 将所有字段值收集到 FormData 或 Array 中。然后您可以将该变量发送到 URL 中的下一页
检查这个:
function getFieldArray()
{
console.log('Example : 1 Get all fields in FormData Array');
var formData = new FormData();
var elements = document.getElementById("myForm1").elements;
for (var i = 0, element; element = elements[i++];) {
if (element.type === "text")
{
console.log('This is textbox id = ' + element.id + ', Value = ' + element.value);
formData.append(element.id, element.value);
}
}
//Example : 1 END
console.log('\n-----------------------------\n\n');
console.log('Example : 2 Get all fields in Array');
var fieldsArr = [];
var frmElements = document.getElementById("myForm1").elements;
for (var i = 0, element; element = frmElements[i++];) {
if (element.type === "text")
{
fieldsArr[i] = element.value;
}
}
console.log('Fields Length : ' + fieldsArr.length);
return false;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myForm1">
First name:<br>
<input id="firstname" type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input id="lastname" type="text" name="lastname" value="Mouse">
<br><br>
<button onclick="return getFieldArray()">Submit</button>
</form>
稍后您可以将 FormData 发送到另一个页面。
$.ajax({
type: "POST",
url: 'new_page.html',
data: formData,
processData: false,
contentType: false,
dataType: 'html',
success: function (response) {
//alert('done')
},
error: function (error) {
//alert('fail');
}
});
推荐阅读
- f# - 带有 FParsec 的缩进、表达式、语句和 StackOverflowException - 错误
- php - 触发 URL 每天运行两次
- rust - 带有多队列的 tokio 有时会挂起,有时会工作
- reactjs - 未设置 React 16.6.3 上下文 API contextType
- r - 如何在不丢失名称的情况下向列表中的列表添加一列?
- php - 主文件夹和子文件夹的不同命名空间
- neo4j - 如何使用 java api 获取 Neo4j 集群状态
- python - 对 POS 标签列表的字符串应用 literal_eval 会产生 ValueError
- visual-studio-code - 从 VS Code 在资源管理器中打开文件夹
- php - PHP Session 数据文件不是由您的 uid (Vagrant CentOS) 创建的