0
 var $fileVideo = $("<form action='videoupload.php' method='post' enctype='multipart/form-data' target='upload_target_video' onsubmit='return videoClickHandler(this);' class='videouploadform' >" + 
    "Video File: <input name='fileVideo' type='file' class='fileVideo' /></label>" +  
    "<input type='submit' name='submitVideoBtn' class='sbtnvideo' value='Upload' /></label>" + 
     "<p class='listVideo' align='left'></p>" +
    "<iframe class='upload_target_video' name='upload_target_video' src='/' style='width:0px;height:0px;border:0px;solid;#fff;'></iframe></form>"); 

现在下面我有一个 jquery 代码,当文件完成上传时触发。

  function htmlEncode(value) { return $('<div/>').text(value).html(); }

      function stopVideoUpload(success, videofilename){

          var result = '';
          videocounter++;

          if (success == 1){
             result = '<span class="videomsg'+videocounter+'">The file was uploaded successfully</span>';
              $('.listVideo').eq(window.lastUploadVideoIndex).append('<div>' + htmlEncode(videofilename));
          }


          return true;   
    }

下面是它上传文件的代码,然后使用 javascriptid从数据库中接收文件名和文件名,并将其发布回上面的 javascript 函数以显示信息:

 move_uploaded_file($_FILES["fileVideo"]["tmp_name"],
      "VideoFiles/" . $_FILES["fileVideo"]["name"]);
      $result = 1;

    $videosql = "INSERT INTO Video (VideoFile) 
    VALUES (?)";

        if (!$insert = $mysqli->prepare($videosql)) {
      // Handle errors with prepare operation here
    }

    //Assign the variable
$vid = 'VideoFiles/'.$_FILES['fileVideo']['name'];

            //Dont pass data directly to bind_param store it in a variable
$insert->bind_param("s",$vid);

 $insert->execute();
 $id = $mysqli->insert_id;

        if ($insert->errno) {
          // Handle query error here
        }

        $insert->close();     

        }else{
  echo "Upload was not successful";   
  }


     <script language="javascript" type="text/javascript">
     window.top.stopVideoUpload(<?php echo $result; ?>,'<?php echo $id . $_FILES['fileVideo']['name'] ?>');
     </script> 

因此,如果上传文件VideoFiles/tulips.png,那么在 db 中它看起来像这样,例如:

视频表:

ImageId  VideoFile
23       VideoFiles/tulips.mp4

所以在上面的 javascript 函数中它显示了这个:

23ImageFile/tulips.mp4

我的问题是,我希望$id或如上例所示23显示为隐藏的输入值。但我的问题是如何做到这一点?

更新:

  function htmlEncode(value) { return $('<div/>').text(value).html(); }

      function stopVideoUpload(success, videofilename, videoID){

          var result = '';
          videocounter++;

          if (success == 1){
             result = '<span class="videomsg'+videocounter+'">The file was uploaded successfully</span>';
      $('.listVideo').eq(window.lastUploadVideoIndex).append('<input type="hidden" name="vidid" value="videoID" />');
              $('.listVideo').eq(window.lastUploadVideoIndex).append('<div>' + htmlEncode(videofilename));

          }


          return true;   
    }

…………

 move_uploaded_file($_FILES["fileVideo"]["tmp_name"],
          "VideoFiles/" . $_FILES["fileVideo"]["name"]);
          $result = 1;

        $videosql = "INSERT INTO Video (VideoFile) 
        VALUES (?)";

            if (!$insert = $mysqli->prepare($videosql)) {
          // Handle errors with prepare operation here
        }

        //Assign the variable
    $vid = 'VideoFiles/'.$_FILES['fileVideo']['name'];

                //Dont pass data directly to bind_param store it in a variable
    $insert->bind_param("s",$vid);

     $insert->execute();
     $id = $mysqli->insert_id;

            if ($insert->errno) {
              // Handle query error here
            }

            $insert->close();     

            }else{
      echo "Upload was not successful";   
      }


 <script language="javascript" type="text/javascript">
 window.top.stopVideoUpload(<?php echo $result; ?>,'<?php echo $id; ?>','<?php echo $_FILES['fileVideo']['name']; ?>');
 </script>  
4

1 回答 1

1

这里的“显示”是什么意思?我猜你想要的是将隐藏<input />字段的值设置为"23". 如果我是对的,您可以更改stopVideoUpload()为 3 个参数:success、、videofilenameID(或您想要的其他名称)。然后,附加<input type="hidden" name="(name you want)" value="(ID you received)" />$('.listVideo')您想要的其他容器中。

如果你已经有一个隐藏字段,只需使用 jQuery 的val()函数来设置值 =)

http://api.jquery.com/val/

于 2013-01-20T16:36:21.990 回答