Вы не можете отправить свою форму таким образом со ссылкой и некоторым javaScript, даже jQuery. Вы должны использовать вызов XHR для отправки запроса и не обновлять страницу. (вы можете отправить свою форму по ссылке, представленной Дэном, но я понимаю, что вы хотите сделать больше, чем просто из ваших вопросов). Причина в том, что оператор «return false» будет влиять на действие ссылки, а не сама форма представления. В любом случае, я бы посоветовал вам не использовать ссылку для отправки вашей формы вообще.
Вы можете легко отправить форму с обычной кнопкой отправки и немного jQuery. Таким образом, вы обеспечиваете хороший резерв для своих пользователей, которые не включили javaScript.
Вы можете даже представить форму с некоторой проверки на стороне клиента, используя следующий HTML/JavaScript:
<!DOCTYPE html>
<html>
<head>
<title>Sample</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$('#addForm').submit(function(){
validate();
ajax_submit_function_taking_form_data_as_argument($(this).serialize());
return false;
});
});
function validate(){
//Do some client side validation if required
}
function ajax_submit_function_taking_form_data_as_argument(theData){
$.ajax({
type: 'GET',
url: "http://search.google.com/",
data: theData,
error: function(e){
alert('error...');
},
success: function(data){
alert('success!');
}
});
}
</script>
<style type="text/css"></style>
</head>
<body>
<form id="addForm">
<input type="text" name="field1" value="" />
<input type="submit" value="submit" />
</form>
</body>
</html>
И последнее решение, хотя, может быть, слишком тяжелый вес для вашего использования, будет использовать отличную JQuery form плагин от http://jquery.malsup.com/form/
Надеюсь, что это поможет!
Я пытаюсь избежать новой функции в коде – user186585
@ user186585 Почему? – alexn