gpt4 book ai didi

javascript - 如何使用javascript将表单元素值直接发送到php页面

转载 作者:搜寻专家 更新时间:2023-10-31 21:19:26 24 4
gpt4 key购买 nike

我在这里尝试的是,当您单击提交按钮时,我正在调用一个 javascript 函数,该函数获取所有表单元素值并将其传递给 php 页面,而不将它们存储在变量中,然后发送这些变量。

我的表单示例:

<form enctype="multipart/form-data" method="post" name="fileinfo">
<label>Your email address:</label>
<input type="email" autocomplete="on" autofocus name="userid" placeholder="email" required size="32" maxlength="64" />
<br />
<label>Custom file label:</label>
<input type="text" name="filelabel" size="12" maxlength="32" />
<br />
<label>File to stash:</label>
<input type="text" name="email" required />
<input type="button" onsubmit="sendvalues()" value="Stash the file!" />
</form>

现在在 javascript 上,我想发送 userid 和 email 字段直接转到 php 页面,而不是先将它们检索到一个变量中,然后通过 ajax 发送该变量。

function sendValues() {
var formElement = document.querySelector("form");
console.log(formElement);
var formData = new FormData(formElement);
var request = new XMLHttpRequest();
request.open("POST", "<?php echo VIEW_HOST_PATH;?>process_data.php");
formData.append("process_type", 'process_data');
request.send(formData); //want to send all form userid, email directly to php page
request.onreadystatechange = (e) => {
console.log(request.responseText)
}
}

是否可以将 user_id 和 email 值直接发送到 php 页面?因此,例如,包含电子邮件和用户信息的表单元素以及任何其他表单元素,它们都通过 ajax 发送到 php 页面,但最重要的是不将此元素值存储在 javascript 变量中。谢谢

最佳答案

在您的表单中,您应该指定属性“action”。该操作将是您的 php 文件,它将处理您的提交操作。您也可以添加到此表单 ID 选择器。

<form id="file-info" enctype="multipart/form-data" action="/process_data.php" method="post" name="fileinfo">

现在在您的函数 sendValues() 中,您可以像这样提交表单:

function sendValues() {
document.getElementById("file-info").submit();
}

或者如果您将输入按钮类型设置为提交,则您甚至不需要此功能:

 <input type="submit" name="submit" /> 

然后在您的 php 文件中,您可以使用如下变量:

if (isset( $_POST['submit'])) 
{
$userId = $_POST['userid'];
$email = $_POST['email'];
}

关于javascript - 如何使用javascript将表单元素值直接发送到php页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57734708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com