是否可以使用live()类发送表单?
我点击了动态生成的页面上各种项目的表单我想提交表单并在fancybox中显示结果以下是我的代码,它不会提交任何内容 -
$(document).ready(function() {
$.ajax({
type: "GET",
url: "code.xml",
dataType: "xml",
success: parseXml,
error: errorMsg,
complete: alldone
});
function alldone() {
setTimeout(function() {
// do stuff
$(function() {
$("#albums_carousel").carouFredSel({
curcular: false,
infinite: false,
auto : false,
prev : {
button : "#prevAlb",
key : "left"
},
next : {
button : "#nextAlb",
key : "right"
},
pagination : "#pagerAlbums"
});
$("#games_carousel").carouFredSel({
curcular: false,
infinite: false,
auto : false,
prev : {
button : "#prevG",
key : "left"
},
next : {
button : "#nextG",
key : "right"
},
pagination : "#pagerGames"
});
$("#tracks_carousel").carouFredSel({
curcular: false,
infinite: false,
auto : false,
prev : {
button : "#prev3",
key : "left"
},
next : {
button : "#next3",
key : "right"
},
pagination : "#pagerTracks"
});
});}, 100);
}
function parseXml(xml)
{
$('.albRow').empty();
$(xml).find("album").each(function()
{
var title = $(this).find('productDescription').text();
var artist = $(this).find('artist').text();
var artwork = $(this).find('artwork').text();
var price = $(this).find('price').text();
var mediaItem = $(this).find('mediaItem').text();
var artwork = $(this).find('artwork').text();
var chargeCode = $(this).find('chargecode').text();
var productCode = $(this).find('productCode').text();
var listItem = $('<li><form action="https://formhandler.net" method="post" id="pfi_form'+mediaItem+'" name="pfi_form" target="thisframe"><input type="hidden" name="transactionRequest" id="pfi_transactionRequest" value="' + chargeCode + '"><input type="hidden" name="productCode" id="pfi_productCode" value="' +productCode+'"><input type="hidden" name="productDescription" id="pfi_productDescription" value="'+title+'"><scr'+"i"+'pt type="text/javascript" src="formFooter.js"> </scr'+"i"+'pt><a id="inline" name="pfi_form'+mediaItem+'" class="overlayLink" href="#data"><img src="'+artwork+'" width="82" height="85" alt="Buy Adele 21" /></a><span class="artist">Adele</span><span class="title">21</a></span><span class="price"><a id="inline" href="#data">£1.60</a> </span></li></form>');
$(".albRow").append(listItem);
});
}
function errorMsg() {
alert("error getting xml feed");
}
});
$('.overlayLink').live('click', function() {
$("a#inline").fancybox({'hideOnContentClick': true});
$.fancybox({
type: "iframe"
})
$("#pfi_form3022158").submit();
})
</script>
非常感谢任何想法!
干杯 保罗
答案 0 :(得分:0)
对于我从您的代码中看到的内容,您可以做到:
$('.overlayLink').live('click', function() {
$("a#inline").fancybox({'hideOnContentClick': true});
$.fancybox({
type: "iframe"
})
$(this).closest('form').submit();
})