2012-08-13 71 views
-1

在我有空閒時間爲Facebook競賽做準備時,帶有Facebook的發佈函數具有您可以定義的一次性發布的JavaScript函數。將Javascript變量聲明爲PHP表單

我期待做的是調用一個函數爲php表單寫入一個值,然後將其發佈並提交數據到數據庫中。我已經測試了程度,我知道這個想法是合理的,只是調用基本警報,但我不確定如何從調用函數到將值寫入窗體。

這個值我需要能夠在數據被髮布到的頁面上調用,基於「if功能」關閉,基本上如果「True/Yes」,那麼我需要它來處理另一個php腳本除了數據的發佈到數據庫

我現在擁有的是:

<script type="text/javascript"> 
    function isShared() 
    { 
    alert("Yes"); 
    } 
    </script> 
<input class="fieldbox" name='shared' type='hidden' value="value of 'display_alert()'"/> 

我知道這不可能是一個警告,但其實這就是在那裏我目前的JavaScript技能離開我擱淺。

+0

Java和JavaScript是不一樣的。 :) – 2012-08-13 12:36:52

+0

這不是Java,這就是JavaScript ...他們是完全不同的語言 – 2012-08-13 12:37:32

+0

我不清楚'display_alert()'的實際代表什麼'價值'。如果'alert'只是顯示一個字符串字面值(這是它在你提供的代碼示例中所做的),那麼爲什麼不使用相同的字符串呢? – David 2012-08-13 12:39:55

回答

1
<script type="text/javascript"> 
function isShared() 
{ 
    document.getElementById('xshared').value = 'Yes'; 
} 
</script> 
<input class="fieldbox" id="xshared" name="shared" type="hidden" value="" /> 

這將增加值一次隱藏字段isShared被調用。

您是否希望自動發佈表單,而不需要用戶單擊除分享按鈕以外的任何其他表單?我問的唯一原因是,它聽起來像你正在尋找的是AJAX,無需用戶就可以將數據悄悄地發佈到數據庫,以遠離他們當前的頁面。

+0

這看起來很完美。這個過程是爲了競爭,如果你分享你加入你的機會的兩倍,我仍然需要來自條目的用戶數據,所以這個想法是,一旦共享,函數運行聲明價值跨越的形式到謝謝頁面,我檢查共享的價值,如果是的話,數據發佈到DTB,而不是1的2個條目。 – RemeJuan 2012-08-13 12:58:02

+0

好吧,聽起來不錯,在這種情況下,上述應該沒問題,因爲你需要!:-) – 2012-08-13 12:59:18

+0

謝謝,我們將把這項工作放到一個完整的競賽中進行測試。 – RemeJuan 2012-08-13 13:01:29

0

我還沒有100%清楚你問什麼,但你只是想發出一個服務器端的PHP變量到客戶端的JavaScript代碼?像這樣的東西?:

<?php 
    // some code, etc. 
    $myVariable = "foo"; // some value 
    // more code, etc. 
?> 
<script type="text/javascript"> 
    var myVariable = '<?php echo $myVariable; ?>'; 
    // more JavaScript code, etc. 
</script> 

這將發射到頁面:

<script type="text/javascript"> 
    var myVariable = 'foo'; 
    // more JavaScript code, etc. 
</script> 

基本上,無論你需要從PHP變量的字面值,你會寫:

<?php echo $myVariable; ?> 
0

我不清楚你的目標究竟如何發佈表單數據,但你可以使用jQuery這樣設置的輸入值:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 


$('#input1').val($('#input1').val() + 'more text'); 

<input id="input1" class="fieldbox" name='shared' type='hidden' value=""/>