我有一个包含多个输入类型图像的表单。当用户点击任何图片时,我需要将网页位置替换为图片的网址。
形式就像,
<form action='free.php' id='freeForm' method='post' autocomplete="off">
<?
for($j=1;$j<=5;$j++)
{
?>
<a href="<?=$url;?>" class="anchor-url"> <input type="image" src="<?=$img;?>" /></a>
<?
}
?>
</form>
来自数据库的$ img和$ url值。
我的jquery就像,
$("#freeForm").submit(function()
{
var Form = { };
Form['inputFree'] = $("#inputFree").val();
Form['freeTOS'] = '1';
$('.anchor-url').click(function(e){
e.preventDefault();
alert($(this).attr('href'));
});
$.post('processFree.php', Form, function(data)
{
if(data == "Success")
{
$("#FreeErrors").html('').hide();
swapToPane('paneSuccess');
return;
}
swapToPane('paneFree');
$("#FreeErrors").html(data).show();
});
return false;
});
现在,当我点击每张图片时,我会收到'http://au.yahoo.com'。但我想用每张图片的网址替换“http://au.yahoo.com”。如何将PHP变量$ url传递给此表单? 有什么想法吗?
谢谢!
答案 0 :(得分:0)
这个应该工作,如果我理解你要求的正确,虽然我没有尝试过。基本上,您将click事件绑定到每个图像,然后单击它会使用所点击的src
元素的input
属性中的值替换窗口位置。
$('input[type=image]').click(function(e){
e.preventDefault();
window.location.replace($(this).attr('src'));
});
修改强>
首先,您应该为锚元素添加一个类名:
<form action='free.php' id='freeForm' method='post' autocomplete="off">
<?
for($j=1;$j<=5;$j++)
{
?>
<a href="<?=$url;?>" class="anchor-url"> <input type="image" src="<?=$img;?>" /></a>
<?
}
?>
</form>
你的JS:
$('.anchor-url').click(function(e){
e.preventDefault();
window.location.replace($(this).attr('href'));
});
注意我是如何在锚链接中添加一个类的。这可以命名几乎任何东西。这使您能够使用$('。any-classname')选择器仅使用jQuery选择具有该类名的元素。