2009-07-01 24 views
1

我在我的FormBuilder應用程序中使用CakePhp和jQuery。 我有形式像

<form action="/cake_1.2.1.8004/index.php/results/submit1" method="post" 
                  id="ResultSubmit1Form"> 
    <fieldset style="display: none;"> 
     <input type="hidden" value="POST" name="_method"/>  
    </fieldset> 

    <div class="input text"> 
     <label for="1">Doj</label> 
     <input type="text" value="" style="width: 300px;" id="1" name="Doj"/> 
    </div> 

    <div class="input text"> 
     <label for="2">Name</label> 
     <input type="text" value="" style="width: 300px;" id="2" name="Name"/> 
    </div> 
    <div class="input textarea"> 
     <label for="3">Address</label> 
     <textarea style="height: 300px;" id="3" rows="6" cols="30" name="Address"/> 
    </div> 
    <div class="input text"> 
     <label for="4">Age</label> 
     <input type="text" value="" style="width: 200px;" id="4" name="Age"/> 
    </div> 
    <br/><br/> 
    <div class="submit"> 
     <input type="submit" value="submit"/> 
    </div> 
</form> 

我想在表單中輸入的所有值。

使用jquery表格插件我已經使用以下代碼作爲

 _method=POST&Doj=07%2F09%2F2009&Name=aruna&Address=xyz&Age=22 

相同我在CakePHP的控制器檢索爲

function submit1() 
    { 
     echo "In controller ".http_build_query($_POST);//echoes correctly 
    } 
檢索等

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#submit").eq(0).click(function(){ 

      var serializedFormStr = $("#ResultSubmit1Form :input[value]").serialize(); 
      alert(serializedFormStr); 
      $.ajax({ 
       type: "POST", 
       url: "http://localhost/cake_1.2.1.8004/index.php/results/submit1", 
       data: serializedFormStr, 
       success: function(msg){ 
        alert("Data Saved: " + msg); 
       }//success 
      });//ajax 
     }); 
    });//ready 
</script> 

alert(serializedFormStr);顯示的值

如何從此查詢字符串中獲取單個數據,以便我c將它保存到我的數據庫中。 請給我建議..

回答

0

我不明白爲什麼你打電話給http_build_query?你只需要看$_POST['Doj']肯定。

可以遍歷$ _POST像這樣:

foreach ($_POST as $key => $value) 
    echo 'The value of ' . $key . ' is ' . $value; 

或者讓所有鍵的數組:

$keys = array_keys($_POST); 
// $keys is now array('Doj', 'Name', 'Address', 'Age') 

這是否幫助?

+0

其實我不知道fieldname Doj在我的控制器中。因此,我發送了fieldname和它的值,並且希望將它們都保存在表中。 – useranon 2009-07-01 09:22:58

1

我遇到了這個問題,並發現http_build_query有三個可用參數「自5.1.2 arg_separator參數被添加了。」(本地Ms-windows文件:mk:@MSITStore:D:\ Reference \ oq \ php \ php_manual.chm ::/res/function.http-build-query.html on)

當我做了一個$ _POST var轉儲我的第二個和第三個varibale名字出來了amp; rowsPerPage和amp ; startNumber領先&已經被吃

無論出於何種原因,我不得不這樣做是在我在做什麼,

$postdata = http_build_query(
    array(
    'whereRequest' => $whereRequest, 
    'rowsPerPage' => '20', 
'startNumber' => '0' 
    ) 
    ,'','&' 
); 

第二個參數(numeric_prefix - 這是一個字符串)在我的情況下是不需要的,我明確地將arg_separator參數設置爲'&',這是我相信的,默認任何方式。

幫助文件的例子表明&ampamp;作爲一個選項,但沒有工作,

對於什麼都講道理一切正常後,我明確設置arg_separator參數:「&」

相關問題