2015-08-14 25 views
0

我正在使用jQuery & ajax在正在生成的會話中保存整個表單。 當我按下搜索按鈕時保存窗體值和表單在會話中

onclick="updateContentdata(); 

被調用。這是在做什麼。

function updateContentdata() { 
    var updateSearchContent = $('#savelistdata').html(); 
    var rowNumb = rowCount; 
    var inFileds = JSON.stringify(field_options); 

    // var inputValue = $('inptval_' + rowCount).val(); 

    $.ajax({ 
     type: "POST", 
     url: "<?= $HOMEPAGE_ROOT; ?>/ajax_listuser.php", 
     data: { 
      rowNum: rowNumb, 
      field_options: inFileds, 
      html: updateSearchContent 
     }, 
     success: function (data) { 
      $('#searchusers').submit(); 
     }, 
     error: function (req, status, error) { 
      console.log(error) 
     } 
    }); 
} 

ajax_listuser.php

<?php 

    session_start(); 

    if(isset($_POST['html']) && isset($_POST['rowNum'])){ 

     $_SESSION['searchContent'] = $_POST['html'] ; 
     $_SESSION['rowNumber'] = $_POST['rowNum'] ; 
     $_SESSION['field_options'] = $_POST['field_options']; 

    } 
?> 

形式被保存在會話,但我想保持表單值了會議。但它只保留形式。

所以基本上我需要

<input class="form-control" type="text" id="inptval_2" name="search_input_value[]" value="71347"> 

,而不是

<input class="form-control" type="text" id="inptval_2" name="search_input_value[]"> 
+0

'rowCount時'&&'field_options'是這些全局變量嗎? –

+0

你好,你應該使用一個php變量填充值輸入 '「>'' – snippster

+0

請參閱http://stackoverflow.com/questions/7095956/jquery-html-does-not-return-changed-values –

回答

0

首先創建這樣的功能: -

function getHtml(div){ 
    div.find("input, select, textarea").each(function() { 
    var $this = $(this); 
    if ($this.is("[type='radio']") || $this.is("[type='checkbox']")) { 
     if ($this.prop("checked")) { 
      $this.attr("checked", "checked"); 
     } 
    } else { 
     if ($this.is("select")) { 
      $this.find(":selected").attr("selected", "selected"); 
     } else { 
      $this.attr("value", $this.val()); 
     } 
    } 
    });  
return div.html(); 
} 

,然後修改你的功能可按: -

function updateContentdata() { 
var updateSearchContent = getHtml($('#savelistdata')); 
var rowNumb = rowCount; 
var inFileds = JSON.stringify(field_options); 

// var inputValue = $('inptval_' + rowCount).val(); 

$.ajax({ 
    type: "POST", 
    url: "<?= $HOMEPAGE_ROOT; ?>/ajax_listuser.php", 
    data: { 
     rowNum: rowNumb, 
     field_options: inFileds, 
     html: updateSearchContent 
    }, 
    success: function (data) { 
     $('#searchusers').submit(); 
    }, 
    error: function (req, status, error) { 
     console.log(error) 
    } 
}); 
} 
0

你可能將不得不把這些值回的形式,因爲value="123"是不是HTML的一部分,當有人填充形成。遍歷你的價值觀,並找到相應的表單元素,並將其值設置