2011-05-19 25 views
0
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5b1.js"></script> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js"></script> 

<input type="text" id="textbox"> 
<button id="inlinesubmit_button" type="button">submit</submit> 


<script> 

function call_this() 
{ 
alert(<?php echo $_POST['text'];?>); 
} 


$('#inlinesubmit_button').click(function(){ 
    $.ajax({ 
     type: "POST", 
     url: "sync_loading1.php", 
     data: {text:$('#textbox').val()} 
    }); 

call_this(); 
}); 

</script> 

此給出警告框不確定的,請幫我指出我在做什麼錯傳值使用jquery不工作從文本到PHP,請幫助

+1

PHP運行在服務器上。 JavaScript在瀏覽器中運行。 – 2011-05-19 23:47:38

+0

您能否一步一步描述預期的程序流程應該是什麼? 1)。用戶輸入文字。 2)。用戶提交文本。 3)。服務器做了一些事情。 前兩個很明顯......不知道步驟3中的內容或後續步驟是什麼。 – 2011-05-20 01:36:55

+0

是你是正確的服務器需要該文本查詢MySQL數據庫....並返回名稱附加ID和我還需要在JavaScript中使用此.....希望你得到一個想法 – koool 2011-05-20 01:44:50

回答

2

你可能需要將其包裝在引號('"),使其成爲一個字符串。

alert('<?php echo $_POST['text'];?>'); 

它似乎也忽略了JavaScript運行(客戶端)和PHP(服務器端)的方式。他們不能直接溝通; PHP可以回顯JavaScript,並且JavaScript可以向PHP文件發出HTTP請求。

+0

包裝後不工作 – koool 2011-05-19 23:55:07

1

這個功能並不會令人悲傷,你正在對外部文件運行ajax調用,並且外部文件不能執行警報,因爲它沒有被用戶查看。如果你想提醒文本字段的數據,只是做alert($('#textbox').val());

2

很難弄清楚你在做什麼......但關鍵是你需要客戶端代碼,再加上服務器處理程序。

你的HTML:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.5b1.js"></script> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js"></script> 
<script type="text/javascript"> 
function call_this(data, status, xhr) 
{ 
    alert(data); 
} 
$(document).ready(function(){ 
    $('#inlinesubmit_button').click(function(){ 
     $.ajax({ 
     type: "POST", 
      url: "sync_loading1.php", 
     data: {text:$('#textbox').val()}, 
     success: call_this 
     }); 
    }); 
}); 
</script> 

<input type="text" id="textbox"> 
<button id="inlinesubmit_button" type="button">submit</submit> 

sync_loading1.php

<?php 
// Perform action. Maybe you want to log this into a DB. 
// Maybe you want to just print out some text: 
echo nl2br('Hello world. Here was my input:'.$_POST['text']); 
+1

剛編輯。我離開了原來的call_this()調用,由於它是在點擊操作而不是從Ajax返回異步,所以會失敗。 – 2011-05-20 02:04:18

+0

嗨,John,非常感謝您的努力...但這不是我想要做的....讓我解釋一下您對這個混亂的抱歉.....我在這裏嘗試實現的主要目標是 – koool 2011-05-20 03:09:13

+0

嗨John非常感謝您的努力......但這不是我想要做的,讓我解釋一下您對此感到抱歉,我在這裏嘗試實現的主要目標是...... 1)用戶類型在文本框中 2)我將它的值傳遞給PHP 3)php做了一些處理,然後輸出作爲Javascript的參數..有道理..ie值後發佈到PHP,我打電話給JavaScript函數(說fun();).. PHP有一個變量說測試..現在我想要的是在裏面的樂趣我希望變量測試的值做這樣的事情.. var JS_test = <?php echo $ _POST [ '測試']; ?> – koool 2011-05-20 03:16:36