#!/usr/bin/perl
print "Content-type: text/html \n\n";
print qq(<html>
<head>
<script type="text/javascript" src="/jquery.js"></script>
<script>
jQuery(document).ready(function(){
jQuery("#form_lang").submit(function(e){
var str = jQuery(this).serialize();
alert("dfdaf");
jQuery.ajax({
type: "POST",
url:"contacts.pl",
success: function(){
jQuery("#note").ajaxComplete(function(event, request, settings){
if(msg == 'OK')
alert("Your message!");
});
},
});
});
});
</script>
</head>
Вот часть формы:
<form id ="form_lang" action="helloworld.pl" method="POST">
<p>Enter Language: </p>
<input type="text" id="lang" name="lang" /><br/>
<p>Enter Description: </p>
<textarea id="lang_desc" name="lang_desc" ></textarea><br/>
<input type="submit" value="submit" />
Здесь контроль идет вверх до предупреждения ("dfdaf"). И после этого он отправляется на helloworld.pl... Контакт.spl не передается. как позвонить? Заранее спасибо
Когда вы отправите форму, будет отправлено событие отправки. Это вызовет обработчик отправки, который запустит запрос Ajax.
Затем браузер отправит форму как обычно (потому что ничто не останавливает ее).
Браузер загрузит новую страницу и удалит среду, в которой работает JavaScript. Ajax будет отменен (возможно, что запрос может пройти к серверу, но ответ не будет обработан браузером).
Если вы хотите делать что-то, когда форму отправляется, то сделайте это в helloworld.pl
Используйте Ajax, когда вы хотите общаться с сервером, не выходя из страницы.
(Вы также можете отменить отправку формы, а затем использовать JS для повторной отправки, когда запрос Ajax возвращается... но это сложнее и неэффективно).
Вы не называете Ajax от Perl.
Вы пишете Javascript с Perl.
Javascript будет отправлен с сервера, а затем выполнен в браузере.
И я предполагаю, что браузер не находит "contacts.pl".
Q: Вы получаете сообщение об ошибке в окне браузера (например, "404" или "500")?
В: Вы видите что-либо на сервере ошибки и/или журналы доступа?
use strict; use warnings;
, Не пишите документы HTML без стандартного режима, запускающего Doctype.qq(
синтаксис - проблема.)
Везде в вашем HTML. Попробуйте использовать другой символ, например~
, или используйте здесь документ.