Тема: Sumbit формы
Показать сообщение отдельно
  #17 (permalink)  
Старый 17.12.2013, 19:52
Аспирант
Отправить личное сообщение для Riddik Посмотреть профиль Найти все сообщения от Riddik
 
Регистрация: 14.11.2013
Сообщений: 32

Сообщение от danik.js
Покажи как ты пытаешься его использовать. Ты обновил код после моей правки var i = 0? Какие ошибки? F12 жал в браузере?
Да, жал - никаких ошибок нет.

Вот полный код:

<script>
function isSubmittable(control)
{
    var element = control.nodeName.toLowerCase();
    if(['textarea'].indexOf(element) > -1) return true;
    if(element == 'input')
	{
        if(['submit', 'button'].indexOf(control.type) > -1) return false;        
        return true;
    }
    return false;
}
    
function serialize(form)
{
    var segments = [];
    for(var i = 0, control; control = form.elements[i]; i++)
	{
        if (!control.name || control.disabled || !isSubmittable(control)) continue;
        segments.push(encodeURIComponent(control.name) + '=' + encodeURIComponent(control.value));
    }
    return segments.join('&');
}

function sendForm(form, success)
{
    var request = new XMLHttpRequest();
    request.open(form.method, form.action);
    request.onreadystatechange = function() {
        if (request.readyState == request.DONE) {
            if (request.status == 200) {
                success(request.responseText);
            }
        }
    };	
    request.send(serialize(form));
}
</script>
<h3>Форма отправки обращения</h3>
<form onsubmit="return sendForm(this, alert), false" action="../sendmail.php" method="post">
	<p><input type="text" size="40" placeholder="Ваше имя" name="user"></p>			
	<p><input type="text" size="40" placeholder="E-mail" name="email"></p>
	<p><input type="text" size="40" placeholder="Тема письма" name="subj"></p>
	<p>Текст обращения<Br>
	<textarea placeholder="Текст обращения" name="text" cols="40" rows="6"></textarea></p>
	<p><input type="submit" value="Отправить" name="submit_form1"></p>						
</form>
Ответить с цитированием