Autor Zpráva
davef6
Profil
Dobrý den, našel jsem jeden skriptík pro odesílání formulářů, bohužel nic nepošle, v ajaxu se moc nevyznám, poradí někdo?

<script type="text/javascript">
/** Odeslání formuláře přes XMLHttp požadavek
* @param function state_change funkce zajišťující obsluhu při změně stavu požadavku, dostane parametr s XMLHttp objektem
* @param string url URL požadavku
* @param object form formulář k odeslání
* @param object [headers] předané hlavičky ve tvaru { 'hlavička': 'obsah' }
* @return bool true v případě úspěchu, false jinak
* @copyright Jakub Vrána, http://php.vrana.cz
*/
function post_xmlhttprequest(state_change, url, form, headers) {
var elements = form.elements;
var content = [];
for (var i=0; i < elements.length; i++) {
if (elements[i].attributes.name && elements[i].attributes.name.specified && !elements[i].disabled) {
if (/^(select)$/i.test(elements[i].tagName)) {
var options = elements[i].options;
for (var j=0; j < options.length; j++) {
if (options[j].selected) {
var value = (options[j].attributes.value && options[j].attributes.value.specified ? options[j].value : options[j].text);
content.push(encodeURIComponent(elements[i].name) + '=' + encodeURIComponent(value));
}
}
} else if (!/^(submit|reset|button|file|image)$/i.test(elements[i].type) && (!/^(radio|checkbox)$/i.test(elements[i].type) || elements[i].checked)) {
content.push(encodeURIComponent(elements[i].name) + '=' + encodeURIComponent(elements[i].value));
}
}
}
if (!headers) {
headers = {};
}
headers['Content-Type'] = 'application/x-www-form-urlencoded';
return send_xmlhttprequest(state_change, 'POST', url, content.join('&'), headers);
}
</script>

<script type="text/javascript">
function odeslat(form) {
document.getElementById('stav').innerHTML = 'Odesílá se.';
return post_xmlhttprequest(function (xmlhttp) {
if (xmlhttp.readyState == 4) {
document.getElementById('stav').innerHTML = 'Odesláno.';
}
}, 'index2.php?page=posli_pratelum_mp3&amp;interpret=<?php echo"$interpret"; ?>&amp;skladba=<?php echo"$skladba"; ?>&amp;odeslat=mp3&amp;id=<?php echo"$id"; ?>', form);
}
</script>
<span id="stav"></span>

<form action="" method="post" onsubmit="return !odeslat(this);" >
<fieldset>
<table summary="Pošli přátelům mp3">
<tr>
<?php if (!isset($_SESSION['id'])): ?>
<td class="first">Váš email:</td>
<td><input type="text" name="email" title="Váš email" class="clasic_inp" /></td>
<?php endif; ?>
</tr>
<tr>
<td class="first">Email příjemce:</td>
<td><textarea name="email2" id="email2" class="clasic_ta" /><?php if ($_GET[akce]=='pridat_adresy'): $result = mysql_query("select adresa from adresar WHERE id_uziv='$oblibene_id' ORDER BY adresa"); while($row=mysql_fetch_array($result)) { echo $row[0].", "; } endif; ?></textarea></td>
</tr>
<tr>
<td class="first">Váš vzkaz:</td>
<td><textarea name="zprava" class="clasic_ta">Posílám ti odkaz na super mp3:
<?php echo"$interpret - $skladba ";?>

http://mp3stahuj.cz<?php echo"/$id/$interpret2-$skladba2/"; ?></textarea></td>
</tr>
<?php if (!isset($_SESSION['id'])): ?>
<noscript><tr><td class="first">Kolik je 6+6:</td><td><input name="spravnecislo" size="6" /></td></tr></noscript>
<script type="text/javascript">
document.write('<tr><td><input type="hidden" name="spravnecislo" value="1' + '2" /></td></tr>');
</script>
</tr>
<?php endif; ?>
</table>
<input type="submit" name="prihlasit" id="odeslat_but" value="&nbsp;" />
</fieldset></form>

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: