Se il form non dev'essere inviato, ma deve fare tutto ajax, ti conviene settare comunque il campo action, nel caso in cui l'utente abbia js disabilitato, e inviare eventuali informazioni simulando un comportamento GET. In questo modo, qualsiasi cosa accada, hai la certezza che verranno inviate le stesse informazioni alla pagina script.php:
codice:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Esempio</title>
<script type="text/javascript">
function aggiornamentoOK () {
alert(this.responseText);
}
function aggiornaDB (oForm) {
var sGet = "", aFields = oForm.elements, oReq = new XMLHttpRequest();
oReq.onload = aggiornamentoOK;
for (var nItem = 0; nItem < aFields.length; !aFields[nItem].name || (sGet += "&" + escape(aFields[nItem].name) + "=" + escape(aFields[nItem].value)), nItem++);
oReq.open("GET", oForm.getAttribute("action") + "?" + sGet.slice(1), true);
oReq.send(null);
return false;
}
</script>
</head>
<body>
<form name="tuoForm" action="script.php" method="get" onsubmit="return aggiornaDB(this);">
Campo di esempio #1: <input type="text" name="campoDiEsempio1" /></p>
Campo di esempio #2: <input type="text" name="campoDiEsempio2" /></p>
<input type="submit" value="Esegui script" /></p>
</form>
</body>
</html>
Se invece il form dev'essere inviato dopo la richiesta ajax a un'altra pagina diversa da script.php, puoi fare così:
codice:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Esempio</title>
<script type="text/javascript">
function aggiornamentoOK () {
alert(this.responseText);
document.tuoForm.setAttribute("action" , "azione.php");
document.tuoForm.submit();
}
function aggiornaDB () {
var oReq = new XMLHttpRequest();
oReq.onload = aggiornamentoOK;
oReq.open("GET", "script.php", true);
oReq.send(null);
return false;
}
</script>
</head>
<body>
<form name="tuoForm" action="attivareJavascript.html" method="post" onsubmit="return aggiornaDB();">
Campo di esempio: <input type="text" name="campoDiEsempio" /></p>
<input type="submit" value="Esegui script" /></p>
</form>
</body>
</html>
In questo secondo caso l'utente verrà rimandato alla pagina "attivareJavascript.html" nel caso in cui avesse js disabilitato e non fosse possibile eseguire la chiamata ajax.