嗨我有一個文本框....我想從那裏拿用戶輸入並傳遞給PHP,而不使用提交按鈕...我寧願一個正常的按鈕和onclick應該將數據傳遞到php從HTML格式傳遞值到PHP沒有提交表格
好的,這裏是我聽到的....你可以調用一個JS函數onclick,然後你可以從那裏提交表單....但我想在同一頁提交表格後......這就是爲什麼我不想提交的形式在第一個地方......但看起來像沒有其他方式......如果任何人知道提交方法,請幫助....
我很欣賞大家的努力
謝謝
嗨我有一個文本框....我想從那裏拿用戶輸入並傳遞給PHP,而不使用提交按鈕...我寧願一個正常的按鈕和onclick應該將數據傳遞到php從HTML格式傳遞值到PHP沒有提交表格
好的,這裏是我聽到的....你可以調用一個JS函數onclick,然後你可以從那裏提交表單....但我想在同一頁提交表格後......這就是爲什麼我不想提交的形式在第一個地方......但看起來像沒有其他方式......如果任何人知道提交方法,請幫助....
我很欣賞大家的努力
謝謝
是的,它被稱爲AJAX。 :)
在jQuery中,爲簡潔:
// or $('#textbox_autopost').blur if you want to do it when the box loses focus
$('#textbox_autopost').change(function(){
$.ajax({
type: "POST",
url: "some.php",
data: {text:$(this).val()}
});
});
,如果你想通過按鈕來做到這一點單擊
<button id="inlinesubmit_button" type="button">submit</submit>
$('#inlinesubmit_button').click(function(){
$.ajax({
type: "POST",
url: "some.php",
data: {text:$('#textbox').val()}
});
});
你也可以做到這一點通過A HREF(或提交按鈕或其他東西古怪:
<!-- backup if JS not available -->
<a href="handler.php" id="inline_submit_a">add comment</a>
$('#inline_submit_a').click(function(evt){
$.ajax({
type: "POST",
url: "some.php",
data: {text:$('#textbox').val()}
});
evt.preventDefault();
return false;
});
如果你想在做進入:
$('#textbox_autopost_onenter').keydown(function(evt){
if ((evt.keyCode) && (evt.keyCode == 13))
{
$.ajax({
type: "POST",
url: "some.php",
data: {text:$(this).val()}
});
evt.preventDefault();
return false;
}
});
決賽,現場準備代碼:
$(document).ready(function(){
function submitMe(selector)
{
$.ajax({
type: "POST",
url: "some.php",
data: {text:$(selector).val()}
});
}
$('#textbox_button').click(function(){
submitMe('#textbox');
});
$('#textbox').keydown(function(evt){
if ((evt.keyCode) &&(evt.keyCode == 13))
{
submitMe('#textbox');
evt.preventDefault();
return false;
}
});
嗨約翰...我只想問一件事......當用戶沒有完成輸入時,它甚至會發送數據,或者在用戶完成輸入後它會發送數據....因爲聽起來像幾乎所有擊鍵後都會發送數據... ..無論如何,我可以確保用戶已經完成輸入 – koool 2011-05-19 21:48:13
是的,這發送每個按鍵。您想如何檢測用戶是否已完成打字?有幾個選項:用戶點擊輸入,用戶點擊表單。如果是後者,只需將'.change(function'改爲'.blur(function')。前者是可行的,但需要另外一行或兩行代碼。 – 2011-05-19 21:57:12
進入或者我有一個表單點擊按鈕可以通知該用戶已完成...感謝您的回覆 – koool 2011-05-19 22:04:52
您需要使用Javascript將AJAX POST請求發送回服務器上的PHP。
有一個很好的教程here,它使用jQuery來驗證表單,發送給服務器,然後根據服務器的響應向用戶顯示一條消息。
我不確定你所說的「普通按鈕」的意思,但如果你不想使用<input type="submit">
,您可以使用<button type="submit">
。
A button
爲您提供了更大的佈局自由度,但如果在一個頁面中使用多個button
元素,舊版本的IE會變得困惑。
幾種方法可以做到這一點......
聽起來好像你是一個非重定向解決方案後,所以我建議jQuery的(這是我最喜歡的,但也有實現AJAX很多其他的解決方案),並做類似如下:
假設你有一個文本框和按鈕這樣的:
<input id="txt_input" type="text" />
<input id="btn_send" type="button" value="Submit" />
然後做這樣的事情
$(document).ready(function() {
$("#btn_send").click(function() {
// Do stuff BEFORE sending... //
callAFunction();
var test = "asdfasdf";
// Send the text to PHP //
$.post("test.php", { input: $("#txt_input").val()},
function(data) {
alert("test.php returned: " + data);
}
);
// Do more stuff after sending.... //
callAnotherFunction();
});
});
我相信會得到你以後有什麼。有關jQuery和更多選項與$ .post,更多信息,請點擊這裏:http://api.jquery.com/jQuery.post/
希望幫助!
你的目標是?你想防止重新加載頁面嗎? – 2011-05-19 21:33:31
是的,另一個目標是我不想使用AJAX – koool 2011-05-19 21:38:07
java \ flash應用程序只剩下我能想到的 – 2011-05-19 21:39:47