Хотите ли вы прекратить обычную отправку формы, когда пользователь нажимает Enter или нажимает кнопку отправки?Затем вам нужно запретить event
выполнять действие по умолчанию.Попробуйте это:
function formSubmit(event) {
var self=this;
event.preventDefault();
if ($('#TypeForm').find('input:radio:checked').length == 0) {
alert('A selection is required.');
} else {
$.ajax({
type: "POST",
url: "add.php",
success: function() {
$(self).unbind();
}
});
}
}
Редактировать: И, как упоминает Тревор, вы должны использовать jQuery для привязки вашей функции, чтобы event
был правильно настроен для работы в разных браузерах.,Код может быть:
$(function() {
$('#TypeForm').submit(formSubmit);
});
Но я бы переписал ваш код следующим образом (НЕ проверено):
<script>
$(function() {
$('#TypeForm').submit(function (event) {
var self=this;
event.preventDefault();
if ($(this).find('input:radio:checked').length === 0) {
alert('A selection is required.');
return false;
}
$.ajax({
type: "POST",
url: "add.php",
success: function (data) {
alert('success, data: ' + data); // optional
// no need for this: $(self).unbind();
}
});
}
});
</script>
И удалил onsubmit="formSubmit()"
из вашего HTML.