0

我有一个包含许多输入类型图像的表单。当用户单击任何图像时,我需要将网页位置替换为图像的 url。

形式就像,

<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”。但我想用每张图片的 URL 替换“http://au.yahoo.com”。如何将 PHP 变量 $url 传递给此表单?任何想法?

谢谢!

4

1 回答 1

0

如果我正确理解您的要求并且虽然我没有尝试过,这应该可以工作。基本上,您将单击事件绑定到每个图像,并在单击时将窗口位置替换为被单击元素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 选择具有该类名的元素。

于 2012-07-03T00:23:36.257 回答