2010-01-26 21 views
9

Tôi đang cố gắng sử dụng đoạn mã này để tuần tự hóa biểu mẫu VÀ gửi thêm biến không tìm thấy trong biểu mẫu, cùng một lúc. Các dòng mã sau đây là những gì tôi mong đợi, nhưng thật đáng buồn không hoạt động.Đăng dữ liệu dạng tuần tự và các biến phụ bằng cách sử dụng JQuery

var thePage = theFilename(); 
$.post("pagedetail.php", { $("#PageDetailForm").serialize(), thePage: thePage }, 
    function(data) { 
     alert(data); 
}); 

Bất kỳ ý tưởng nào?

Trả lời

6
var serialized = $('#PageDetailForm').serialize(); 
    serialized.thePage = thePage; 

    $.post("pagedetail.php", serialized, 
    function(data) { 
     alert(data); 
}); 
+0

Điều này dường như không thêmPage vào cuối các giá trị biểu mẫu. Print_R của tôi trong PHP chỉ cho thấy các trường biểu mẫu đã được gửi: (. Đóng mặc dù ... Bất kỳ suy nghĩ nào khác? – Schodemeiss

+2

Ồ ... Tôi thấy điều này để làm việc: var serialized = $ ('# PageDetailForm ') .serialize() + "& thePage =" + thePage; Cảm ơn sự giúp đỡ của bạn! – Schodemeiss

+4

sau đó thử thêm , nó sẽ được đăng với phần còn lại. @Andy Barlow – Kemo

1

Hãy thử điều này cho tham số thứ hai để $.post:

{ form: $("#PageDetailForm").serialize(), thePage: thePage } 
+0

Đáng buồn thay, điều này chia tách lưu dữ liệu thành hai mảng. Một với Form, với một sting trong đó, và một với thePage. Gần như có mặc dù :) – Schodemeiss

0

Hãy thử sortable('toArray'):

var thePage = theFilename(); 

$.post("pagedetail.php", { pageDetailForm: $("#PageDetailForm").sortable('toArray'), thePage: thePage }, 
    function(data) { 
     alert(data); 
}); 
1

Hy vọng rằng bạn vẫn cần :) này. Hãy thử phương pháp serializeArray() và sau đó đẩy một số dữ liệu bổ sung trong mảng kết quả, do đó bạn không có mảng tách v.v .:

var postData = $('#form-id').serializeArray(); 
var additionalData = $('#additionalDataID').val(); 
postData.push({name: 'additionalName', value: additionalData}); 

và cuối cùng là:

$.post(URL, postData); 
2

những gì bạn có thể làm là thêm dữ liệu bổ sung vào đầu vào bị ẩn và xem nó trong trang pagedetail.php.

ví dụ lats nói mẫu của bạn

<form id='PageDetailForm'> 
    <input type="hidden" name="value" id="value" value="the value u wamnt to add goes here" /> 
      ....other inputs 
</form> 

sau này chỉ làm bình thường $.post

$.post("#pagedetail.php",$("#PageDetailForm").serialize(),function(data){ 

    $("#ans").html(data); 

// in the pagedetail.php 

$echo $_POST['value']; 

dis hy vọng bạn giúp đỡ nếu ur vẫn còn lúng túng hola tôi @dplumptre

Các vấn đề liên quan