2011-01-20 109 views
0

我有一個表單。如何將一個javascript變量的值賦給一個php變量

<form action="inc/genxml.php" method="post"> 
     <input id="nameTxt" name="name" type="text" value="test"/> 
     <button id="nameSave" class="left">Save</button> 
</form> 

而且div元素#NAME

當我點擊保存按鈕,我想通過DIV#NAME窗體操作文件的位置。 爲了獲得這個職位,我使用了jQuery .position()。

像下面這樣的東西。 (這只是打印出的座標)

$('#nameSave').click(
    function() { 
     var pos = $('#name').position(); 
     alert("left: " + pos.left + ", top: " + pos.top); 
    } 
); 

我要傳遞的座標值(pos.left & post.top)的形式操作文件(在這種情況下該文件genxml.php)。

我該怎麼做?

回答

7

最簡單的方法是使用一個隱藏的輸入字段,並使用jQuery來設置此輸入字段的值或在這些輸入字段中輸入您案件。

HTML:

<form action="inc/genxml.php" method="post"> 
    <input id="nameTxt" name="name" type="text" value="test"/> 
    <input id="posLeft" name="posLeft" type="hidden" /> 
    <input id="posRight" name="posRight" type="hidden" /> 
    <button id="nameSave" class="left">Save</button> 
</form> 

JS:

$('#nameSave').click(
    function() { 
     var pos = $('#name').position(); 
     $('#posLeft').val(pos.left); 
     $('#posRight').val(pos.right); 
    } 
); 
2

添加兩個隱藏的輸入到您的形式和使用jQuery來改變自己的價值

+0

爲什麼-1?是否因爲我沒有提供任何代碼示例? – kaklon 2011-01-20 12:48:42

1

嘗試這種情況:

var pos = $('#name').position(); 
$("form").append('<input type="hidden" name="name_position" value="' + pos.left + ',' + pos.top + '" />'); 

然後從在服務器端代碼POST數據讀name_position值。