无需提交按钮即可获取提交表单的价值

时间:2014-09-26 12:25:36

标签: javascript php html forms

我尝试上传没有提交按钮的图片。我的代码适用于无按钮提交。

我的HTML代码

<form name="service_image_form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
 Add new image <input name="userfile" type="file" id="userfile" onchange="return subForm()" /> 
</form>

<script>
function subForm() {
document.service_image_form.submit();
};
</script>

但是我在PHP中检索数据时有点困惑。 在PHP中我尝试了这样的东西来检索数据。

if (isset($_POST['service_image_form']))
{
echo "working";
}

在这里,我试图回应&#34;工作&#34;只是为了确认。如果我的条件有效,那么我可以将我的图像保存到服务器和数据库。我知道这很简单,但在这里呆了一段时间。浏览了很多链接,但不知道。这个你能帮我吗。

我知道我是否有一个名为=&#34的提交按钮;提交&#34;然后我可以这样回复

 if(isset($_POST['submit']))
 {
 upload code comes here..
 }

我不想提交按钮..

3 个答案:

答案 0 :(得分:2)

检查是否发出了邮件请求:

if($_SERVER['REQUEST_METHOD']=='POST'){
    echo "working";
}

请注意,上传的文件数据将位于$_FILES超全局,而不是$_POST,并且如Fred所述,您需要在表单上添加enctype属性

答案 1 :(得分:1)

您需要将enctype属性添加到您的for中

<form name="myform" method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>">
 Add new image <input name="userfile" type="file" id="userfile" onchange="return subForm()" /> 
</form>

在你的php中,你可以使用$ _FILE

获取上传的文件
<?php
if ($_FILES['userfile']['error'] > 0) {
  echo $_FILES['userfile']['error'];
} else {
  echo 'Name: ' . $_FILES['userfile']['name'];
  echo 'Temp file location in: ' . $_FILES['userfile']['tmp_name'];
}
?>

答案 2 :(得分:1)

所以基本上你要检查上传是否正确,对吧?嗯,这不是它的完成方式。

PHP为http://php.net/manual/pl/features.file-upload.php

提供了很好的手册

你错过了:

  • 正确的表单编码,将属性enctype =“multipart / form-data”添加到表单标记
  • 您的文件将放在$ _FILES ['userfile']变量
  • 你可以检查$ _FILES ['userfile'] ['error']以确定上传是否成功(如果是,它将等于常量UPLOAD_ERR_OK,0)

之后你很高兴,你可以在这里找到所有细节http://php.net/manual/pl/features.file-upload.post-method.php这很简单。