2011-02-09 1 views
0

У меня есть всплывающее окно, которое запрашивает у пользователя данные для входа, что означает два входных текстовых поля для пароля и имени пользователя.Отправить имя пользователя и пароль javascript (не форма)

Теперь, когда я буду проверять информацию с помощью ajax, я не обертывал элементы, потому что форма всегда требует действия php, правильно? или я что-то упускаю?

Так что я хотел бы знать, есть ли более удобный способ проверить, нажат ли пользователь, ввести данные входа в систему, чем проверять каждый раз, когда нажата клавиша, с нажатием клавиши, если это клавиша ввода ,

Заранее спасибо

ответ

1

Вам по-прежнему нужна форма для обертывания пользовательских входов, и эта форма по-прежнему имеет действие. Тем не менее, вы не будете публиковать полные страницы. Вместо этого вы отправите сообщение AJAX. jQuery делает это очень просто.

$(function() { 
    $("#myForm").submit(function() { 
    var data = $(this).serialize(); 
    var url = $(this).attr("action"); 
    $.post(url, data); 
    return false; 
    }); 
}); 
+0

+1 для этого, потому что если javascript выключен, форма все равно будет отправлена! –

+0

, но какое действие следует установить в теге

? ничего? –

+0

Действие должно выполняться независимо от того, какая конечная точка выполняет вашу операцию входа. –

0

Добавить атрибут для формирования

 
<form onSubmit="call your javascript; return false;"> ... 

так при входе, или отправить нажатие кнопки вашего Javascript будет называться, а затем вы можете делать все, что вы хотите со своими значениями формы. Reutrn false предотвратит отправку классической формы.

Я надеюсь, что это помогает

+0

В вопросе говорится, что формы нет. – Quentin

+0

@David - должна быть форма, иначе HTML недействителен. –

+0

@Charles - ничто в DTD не требует, чтобы элементы ввода, кнопки, textarea или select имели элемент формы в своей родословной. HTML действителен (даже если он имеет низкое качество). Я на 99% уверен, что части, не подлежащие обработке, не требуются для этого, поэтому он полностью соответствует рекомендациям (X) HTML. – Quentin

1

Теперь, как я буду проверки информации с использованием Ajax я не обернуть элементов на форме, потому что всегда нужно действие PHP, правильно? или я что-то упускаю?

Форма требует действия, она не должна указывать на URL-адрес, обрабатываемый PHP. Доступны гораздо более приятные языки (это субъективно).

Что вам не хватает, является откатом, когда JavaScript по какой-либо причине не запускается (например, файл не загружается из-за сбоя сети, клиент не поддерживает JS или имеет JS и т. Д.). Build on things that work.

Так что я хотел бы знать, если есть любитель способ проверить, если пользователь нажал ввести для того, чтобы представить регистрационную информацию, чем проверять каждый раз, когда клавиша нажата, с KeyDown, если это введите ключ.

Если вы строите на вещи, которые работают, то вы будете иметь форму в любом случае, и может запускать JS в submit обработчика. Тогда вам не нужно заботиться о том, была ли форма отправлена ​​нажатием клавиши или нажатием кнопки.

Смежные вопросы