2015-04-17 69 views
-3

我正在嘗試使用AJAX提交HTML。通過AJAX形式的類獲取值提交

我的HTML:

<form class="lyrics"> 
    <input type="text" value="" id="song" name="song"> 
    <button type="submit" class="btn btn-info lirik">lyrics</button> 
</form> 

我有動態表單。所以它可以超過1個表格。 我的javascript:

$(function() { 
    $(".lyrics").bind("submit", function() { 
     var value = $("#song").val(); 
     alert(value); 
     $.post("lihat_lirik.php", { 
      value: value 
     }, function(data) { 
      $("#lyric_results").html(data); 
     }); 
     return false; 
    }); 
}); 

如何我可以從表單輸入作爲VAR歌曲的價值?

這裏jsfidle 其在第一種形式,但不是在第二個工作,

+1

警報(值);工作,所以你的PHP在做什麼? –

+1

@ Suhindra你想要在哪裏獲得'歌曲價值' – ozil

+1

你有收錄jQuery嗎?我已經在JSFiddle檢查,它的工作原理 –

回答

0

您的代碼似乎是有效的。我會改變.bind()通過.on()

$(function() { 
    $(".lyrics").on("submit",function() { 
     var value = $("#song").val(); 
     alert(value); 
     $.post("lihat_lirik.php",{value:value}, function(data){ 
      $("#lyric_results").html(data); 
     }); 
     return false; 
    }); 
}); 

警報應正確顯示值。 因此,檢查jQuery是否已成功加載,並且當您嘗試獲取其輸入值時,html已經在視圖中。

編輯: 你有2個形式,而不是一個。它改變了事物。並且您有多個ID值爲「歌曲」的;一個id應該是一個唯一的標識符。

通過var value = $("#song", this).val();

Check your updated jsFiddle

+0

仍然不能工作 – Suhindra

+0

我認爲你在你的代碼或html視圖中有沒有在你的問題中發佈的東西。您向我們展示的代碼工作正常。當我們在[jsFiddle](http://jsfiddle.net/kmsdev/7x9wobo0/)嘗試代碼時,它按預期工作。 – kosmos

+0

在這裏我的js小提琴。 http://jsfiddle.net/eumtn300/ – Suhindra

0

只需更換var value = $("#song").val();也許你的形式是委託元素? (通過javascript添加,例如在ajax動作中)。如果這是真的ü應使用此代碼:

$(function() { 
    $(document).on('submit', '.lyrics', function() { 
     var value = $("#song").val(); 
     alert(value); 
     $.post("lihat_lirik.php", { 
      value: value 
     }, function(data) { 
      $("#lyric_results").html(data); 
     }); 
     return false; 
    }); 
}); 

如果沒有嘗試「上」,而不是「綁定」從kmsdev代碼。它應該正常工作。當然,如果你的jQuery庫加載正確。

0

在你提供的小提琴here你有兩個輸入相同的ID,「歌」。

你需要給你的輸入唯一的ID才能訪問它們的唯一值。

或者你可以改變你的查詢只包括當前正在提交這樣的表格的子元素:

<form class="lyrics"> 
    <input type="text" value="5" name="song"> 
    <button type="submit" class="btn btn-info lirik">lyrics</button> 
</form> 
<form class="lyrics"> 
    <input type="text" value="6" name="song"> 
    <button type="submit" class="btn btn-info lirik">lyrics</button> 
</form> 

$(function() { 
    $(".lyrics").bind("submit", function(event) { 
     var value = $(event.target).children("#song").val(); 
     alert(value); 
     $.post("lihat_lirik.php", { 
      value: value 
     }, function(data) { 
      $("#lyric_results").html(data); 
     }); 
     return false; 
    }); 
});