2017-07-27 6 views
0

説明: whileループ内にあるボタンをクリックすると、このボタンの値と入力フィールドの値(両方の値)がフェッチされます。 ajaxによってそれをphpに送ります。 自分のコードに何か問題がある場合は、それを修正するか、いくつかの方法でそれを行うように指示します。 submitボタンは、彼らはそれがに追加する必要がありますので、それはFORMDATAには含まれないであろう価値を提出しても、フォームの外にあると私はどんなmistooksを許すのjQueryを使用していますが、おそらく次はありませんボタンがクリックされたときに異なるフィールドからajaxにデータをフェッチする方法

<?php 

    echo '<form id ="aa" method="post">'; 
    echo '<input id="csv" name="csv" type="file" />'; 
    echo '</form>'; 

    while($row=mysql_fetch_array($result_1)) { 
     $pin=$row['board_name']; 
     $name=$row['board_name']; 

     echo'<div>'; 
     echo $row['board_name']; 
     echo '<button type="submit" form="aa" class="a" name="aabb" value='.$name.'>Save</button>'; 
     echo '</div>'; 
    } 
?> 

<script> 
    $(document).ready(function() { 
     $(".a").click(function(evt){  
      evt.preventDefault(); 
      var formData = new FormData($(this)[0]); 
      $.ajax({ 
       url: 'pin_insert.php', 
       type: 'POST', 
       data: formData, 
       async: false, 
       cache: false, 
       contentType: false, 
       enctype: 'multipart/form-data', 
       processData: false, 
       success: function(response) { 
        $(".text").html(response); 
       } 
      }); 
      return false; 
     }); 
    }); 
</script> 
+0

なぜphp echoでhtmlコードを書いたのですか? – Abid

答えて

0

送信されるデータ。

<script> 
    $(document).ready(function() { 
     $(".a").click(function(evt){  
      evt.preventDefault(); 
      var formData = new FormData(document.getElementById('aa')); 

       /* Add the value from the button */ 
       formData.append('aabb', evt.target.value); 

      $.ajax({ 
       url: 'pin_insert.php', 
       type: 'POST', 
       data: formData, 
       async: false, 
       cache: false, 
       contentType: false, 
       enctype: 'multipart/form-data', 
       processData: false, 
       success: function(response) { 
        $(".text").html(response); 
       } 
      }); 
      return false; 
     }); 
    }); 
</script> 
0

入力フィールドとボタンの値が同じであるので、私はそれをあなたがpin_insert.phpページの$ _POST [ 'boardname'] $ _POST [」から値を取得することができます

<?php 

     echo '<form id ="aa" method="post">'; 
     echo '<input id="csv" name="csv" type="file" />'; 
     echo '</form>'; 

     while($row=mysql_fetch_array($result_1)) { 


      echo'<div>'; 
      echo $row['board_name']; 
      echo '<button type="button" form="aa" class="a" name="aabb" value='.$row['board_name'].' onclick="abc(this.value)">Save</button>'; 
      echo '</div>'; 
     } 
    ?> 

    <script> 
    function abc(boardname){ 
       var inputvalue= $("#csv").val(); 

       var boardname= boardname; 
       $.ajax({ 
        url: 'pin_insert.php', 
        type: 'POST', 
        data: {'boardname': boardname , 'inputvalue': inputvalue}, 
        async: false, 
        cache: false, 
        contentType: false, 
        enctype: 'multipart/form-data', 
        processData: false, 
        success: function(response) { 
         $(".text").html(response); 
        } 
       }); 
      } 

    </script> 

この方法をやりましたinputvalue ']

+0

いいえ、入力フィールドとボタンの値は同じではありません。ユーザーが任意のファイル –

+0

を入力できるので、ファイルの値とボタンの値を正しく入力しますか? – Abid

+0

私はそれに応じて編集しました – Abid

関連する問題