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

我在这里尝试的是,当您单击提交按钮时,我正在调用一个 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 变量中。谢谢


婷婷同学_
浏览 303回答 2
2回答

GCT1015

在您的表单中,您应该指定属性“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();}或者,如果您将输入按钮类型设置为提交,则您甚至不需要此功能:&nbsp;<input type="submit" name="submit" />&nbsp;然后在您的 php 文件中,您可以使用您的变量,例如:if (isset( $_POST['submit']))&nbsp;{&nbsp;$userId = $_POST['userid'];&nbsp;$email = $_POST['email'];&nbsp;}

慕虎7371278

那就试试这个代码<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();&nbsp; &nbsp; $.ajax({&nbsp; &nbsp; &nbsp; &nbsp; 'url': 'mpay.php',&nbsp; &nbsp; &nbsp; &nbsp; 'type': 'POST',&nbsp; &nbsp; &nbsp; &nbsp; 'data': $('.submit_form').serialize(),&nbsp; &nbsp; &nbsp; &nbsp; success: function(response) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;console.log(response);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; });});PHP CODE文件名为mpay.php$arr = [&nbsp;'name' => $_POST['name'],&nbsp;'email' => $_POST['email'],];echo "<pre>;print_r($arr);echo "</pre>";希望这可以帮助。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript