2016-09-26 2 views
0

が、私はそれをグーグルでほとんどの時間を過ごすが、私が参考に何も見つからなかった、 はここに私のコードフォーム外フォームを送信せずに入力コントロールの値を取得するにはどうすればよいですか?

<div class = "form-group col-md-12"> 
    <input type="text" name="filename" id="filename"></input> 
</div> 

そのだ、私は何をしたい私は入力する内容ここ

$fopen=fopen($uploadpath.here.'.png','wb'); 

をそこに置かれるべきであるということです

私はファイル名を管理することができますので、静的ではありません。

+2

フォームを送信せずに値を取得するには、 'ajax'を使用する必要があります。 –

答えて

0

データをブラウザに送信しても実行されないため、バックエンドコード(php)にデータを送信する必要があります。私が合っていれば、バックエンドでファイルを開きたいのですが、ページがリロードされる可能性がありますので、フォームを送信しないようにしてください。これはあなたがAJAXを使用することができそうであるならば、次のように:

<div class = "form-group col-md-12"> 
    <input type ="text" name = "filename" id="filename"></input> 
</div> 
<script> 
var filename = $("#filename").val(); 
$.ajax({ 
    url: myfile.php, //url to your php file with code $fopen=fopen($uploadpath.here.'.png','wb'); 
    type: post, 
    data: {"fileName":filename}, 
    success: function(result) { 
     // use your code to handle the result whatever you want to do here 
    } 
}) 
</script> 

あなたのphpファイル

myfile.php

<?php 
$uploadPath = $_POST['fileName']; 
$fopen=fopen($uploadpath.here.'.png','wb'); 
echo "success"; // you can return whatever you want and that will go to success function in your javascript 

?> 
+0

それは未定義のインデックスを言う –

+0

未定義のインデックスを示してどこですか? –

+0

'data:{" fileName ":fileName}、' 'data:{" fileName ":ファイル名}、' – FullStack

0

使用jqueryのAJAXの$ .postそれははるかに簡単

<div class = "form-group col-md-12"> 
    <input type ="text" name = "filename" id="filename"></input> 
</div> 
<script> 
var filename = $("#filename").val(); 
$.post("yourfile.php", {"fileName":filename}, function(data) { 
    // do something 
}) 
</script> 
です

お客様のPHP

<?php 
    $uploadPath = 'youruploadfolder'; // this is the location of your file folder 
    $fileName = $_POST['fileName']; // this is your file passed via ajax request 
    $fopen = fopen($uploadpath.$fileName.'.png','wb'); 
    echo "success"; // you can return whatever you want and that will go to success function in your javascript 
?> 
関連する問題