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;   
    }

以下は、ファイルをアップロードし、javascript を使用しidてデータベースからファイルの名前とファイルの名前を受け取り、それを上記の 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上記の例のように or を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 つの引数に変更できます: successvideofilename、およびID(または必要な他の名前)。次に、必要なコンテナまたは他のコンテナに追加<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 に答える