У меня есть изображение с ссылками на другую страницу с помощью <a href="..."> <img ...> </a>
.
Как я могу заставить это сделать сообщение, как если бы это была кнопка <input type="submit"...>
?
У меня есть изображение с ссылками на другую страницу с помощью <a href="..."> <img ...> </a>
.
Как я могу заставить это сделать сообщение, как если бы это была кнопка <input type="submit"...>
?
<input type="image" name="your_image_name" src="your_image_url.png" />
Это отправит значения your_image_name.x
и your_image_name.y
, когда он отправит форму, которая представляет собой координаты x и y позиции, которую пользователь нажал на изображение.
Более общий подход с использованием JQuery библиотека closest() и submit(). Здесь вам не нужно указывать форму whitch, которую вы хотите отправить, представляет форму, в которой она находится.
<a href="#" onclick="$(this).closest('form').submit()">Submit Link</a>
Похоже, вы пытаетесь использовать изображение для отправки формы... в этом случае используйте
<input type="image" src="...">
Если вы действительно хотите использовать якорь, вам нужно использовать javascript:
<a href="#" onclick="document.forms['myFormName'].submit(); return false;">...</a>
input type = image сделает это за вас.
Неподтвержденный/может быть лучше:
<form action="page-you're-submitting-to.html" method="POST">
<a href="#" onclick="document.forms[0].submit();return false;"><img src="whatever.jpg" /></a>
</form>
<html>
<?php
echo $_POST['c']." | ".$_POST['d']." | ".$_POST['e'];
?>
<form action="test.php" method="POST">
<input type="hidden" name="c" value="toto98">
<input type="hidden" name="d" value="toto97">
<input type="hidden" name="e" value="toto aaaaaaaaaaaaaaaaaaaa">
<a href="" onclick="document.forms[0].submit();return false;">Click</a>
</form>
</html>
So easy.
So easy.
Что может быть удобным дополнением к этому, так это возможность изменить post-url с дополнительной кнопки, чтобы вы могли отправлять сообщения на разные URL-адреса с помощью разных кнопок. Этого можно достичь, установив свойство формы "действие". Здесь код для этого при использовании jQuery:
$('#[href button name]').click(function(e) {
e.preventDefault();
$('#[form name]').attr('action', 'alternateurl.php');
$('#[form name]').submit();
});
Атрибут action имеет некоторые проблемы со старыми версиями jQuery, но по последнему вам будет хорошо идти.
Что-то как эта страница?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>BSO Communication</title>
<style type="text/css">
.submit {
border : 0;
background : url(ok.gif) left top no-repeat;
height : 24px;
width : 24px;
cursor : pointer;
text-indent : -9999px;
}
html:first-child .submit {
padding-left : 1000px;
}
</style>
<!--[if IE]>
<style type="text/css">
.submit {
text-indent : 0;
color : expression(this.value = '');
}
</style>
<![endif]-->
</head>
<body>
<h1>Display input submit as image with CSS</h1>
<p>Take a look at <a href="/2007/07/26/afficher-un-input-submit-comme-une-image/">the related article</a> (in french).</p>
<form action="" method="get">
<fieldset>
<legend>Some form</legend>
<p class="field">
<label for="input">Some value</label>
<input type="text" id="input" name="value" />
<input type="submit" class="submit" />
</p>
</fieldset>
</form>
<hr />
<p>This page is part of the <a href="http://www.bsohq.fr">BSO Communication blog</a>.</p>
</body>
</html>
Не забывайте элемент "BUTTON", который может обрабатывать еще несколько HTML внутри...
Мы все время заменяем кнопку "Отправить" на форме:
<form method="post" action="whatever.asp">
<input type=...n
<input type="image" name="Submit" src="/graphics/continue.gif" align="middle" border="0" alt="Continue">
</form>
Нажатие на изображение представляет форму. Надеюсь, что это поможет!