为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

婷婷同学_ 2021-09-30 17:01:53
我在这里尝试的是,当您单击提交按钮时,我正在调用一个 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 上,我想发送用户 ID 和电子邮件字段直接转到 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 变量中。谢谢
查看完整描述

2 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

在您的表单中,您应该指定属性“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']; 

}


查看完整回答
反对 回复 2021-09-30
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

那就试试这个


代码


<form enctype="multipart/form-data" method="post" class='submit_form' name="fileinfo">

<label>Your user name:</label>

<input type="text" name="name" id='name' placeholder="name" required /><br />

<label>Your email address:</label>

<input type="email" autocomplete="on" autofocus name="userid" id='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" value="Stash the file!" class='submit' />

同一页面上的JQUERY CODE(包括jquery)


$('body').on('click', '.submit', function(e) {

e.preventDefault();

    $.ajax({

        'url': 'mpay.php',

        'type': 'POST',

        'data': $('.submit_form').serialize(),

        success: function(response) {

           console.log(response);

        }

    });


});

PHP CODE文件名为mpay.php


$arr = [

 'name' => $_POST['name'],

 'email' => $_POST['email'],

];

echo "<pre>;

print_r($arr);

echo "</pre>";

希望这可以帮助。


查看完整回答
反对 回复 2021-09-30
  • 2 回答
  • 0 关注
  • 302 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信