У меня есть изображение, на котором ссылки на другую страницу с помощью <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 () кнопки. Здесь вам не нужно указывать форму, которую вы хотите отправить, отправляет форму, в которой она находится.
<a href="#" onclick="$(this).closest('form').submit()">Submit Link</a>
return false;
в конце onclick
, чтобы избежать прокрутки к началу страницы.
- person Sébastien; 30.06.2016
Похоже, вы пытаетесь использовать изображение для отправки формы ... в этом случае используйте <input type="image" src="...">
Если вы действительно хотите использовать якорь, вам нужно использовать javascript:
<a href="#" onclick="document.forms['myFormName'].submit(); return false;">...</a>
Не проверено / могло быть лучше:
<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>
Что может быть удобным дополнением к этому, так это возможность изменить 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>
При нажатии на изображение отправляется форма. Надеюсь, это поможет!