首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP从div获取p元素

PHP从div获取p元素
EN

Stack Overflow用户
提问于 2018-08-01 14:21:21
回答 1查看 158关注 0票数 -1

我在html中有一个类似的东西。

代码语言:javascript
复制
<div id="files" class="files"></div>

Javascript动态添加

代码语言:javascript
复制
<p>File Name</p>

上传文件的时间。PHP

代码语言:javascript
复制
<?php
 if(isset($_POST['add_task'])){
   $req_fields = array('area-id','jig-id','description','frequency-id');
   validate_fields($req_fields);
   if(empty($errors)){
     $t_area_id  = remove_junk($db->escape($_POST['area-id']));
     $t_jig_id  = remove_junk($db->escape($_POST['jig-id']));
     $t_description  = remove_junk($db->escape($_POST['description']));
     $t_frequency   = remove_junk($db->escape($_POST['frequency-id']));
     $date    = remove_junk($db->escape($_POST['date-done']));
     if ($_GET['file'])
        $file_name = $_GET['file'];
    else
        $file_name = "No File";
     $query  = "INSERT INTO tpm_tasks_list ("; 
     $query .=" area_id,jig_id,description,frequency,filename,last_date";
     $query .=") VALUES (";
     $query .=" '{$t_area_id}','{$t_jig_id}','{$t_description}' ,'{$t_frequency}','{$file_name}', '{$date}'";
     $query .=")";
     if($db->query($query)){
       $session->msg('s',"Task added ");
       redirect('add_task.php', false);
     } else {
       $session->msg('d',' Sorry failed to add!');
       redirect('add_task.php', false);
     }

   } else{
     $session->msg("d", $errors);
     redirect('add_task.php',false);
   }

 }

?>

JS我正在使用准备好的脚本上传文件,我发现有些地方,因为我不太擅长JS/Java。

代码语言:javascript
复制
<script>
/*jslint unparam: true */
/*global window, $ */
$(function () {
    'use strict';
    // Change this to the location of your server-side upload handler:
    var url = window.location.hostname === 'blueimp.github.io' ?
                '//jquery-file-upload.appspot.com/' : 'upload/server/php/';
    $('#fileupload').fileupload({
        url: url,
        dataType: 'json',
        done: function (e, data) {
            $.each(data.result.files, function (index, file) {
                $('<p/>').text(file.name).appendTo('#files');
            });
        },
        progressall: function (e, data) {
            var progress = parseInt(data.loaded / data.total * 100, 10);
            $('#progress .progress-bar').css(
                'width',
                progress + '%'
            );
        }
    }).prop('disabled', !$.support.fileInput)
        .parent().addClass($.support.fileInput ? undefined : 'disabled');
});
</script>

在同一页上,我有一个表单,它将信息发送到mysql。我需要获得文件名,如果存在,并以某种方式传递它与php中的其他信息。

我找到的唯一的东西,是使用DomDocument,但是我不认为我知道如何保存当前的html结构(上传文件)并将其传递给xml?

我还发现我可以将filename传递给url,但这会刷新我不想要的页面。

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2018-08-01 14:35:13

在不刷新页面的情况下,如果您希望提交表单以及其他必要的信息,则需要使用ajax技术。在你的项目中包含jQuery,你可以像这样做ajax请求:

代码语言:javascript
复制
$("#idForm").submit(function(e) {
    var form = $(this);
    var file_data = $('#yourimage').prop('files')[0];
    var form_data = new FormData();
    form_data.append('file', file_data); // add other form elements

    $.ajax({
        url: 'upload.php', // point to server-side PHP script 
        dataType: 'text', // what to expect back from the PHP script, if anything
        cache: false,
        contentType: false,
        processData: false,
        data: form_data,
        type: 'post',
        success: function(php_script_response) {
            alert(php_script_response); // display response from the PHP script, if any
        }
    });

    e.preventDefault(); // avoid to execute the actual submit of the form.
});

Upload.php是服务器端脚本,它将处理表单请求并根据您的情况返回响应。因此您可以获取附加到表单数据文件名和其他数据。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51626565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档