Почему обычно <form>используется для агрегирования элементов, а не <div>в случае, когда форма работает с событием submit ajax? - PullRequest
0 голосов
/ 09 июля 2010

Почему обычно <form> используется для агрегирования элементов, а не <div> в случае, когда форма работает с событием отправки ajax?

Функция jjery Ajax:

$('#parse-form').submit(function() {
        $.ajax({
            url: 'controller.php',
            type: 'POST',
            dataType:'json',
            success: function(data) {
                alert(data);
            }
        });
        return false; 
    });

Way1 - форма:

<form>
 <input type="text"/>
 <button type="submit">submit</button>
</form>

Way2 - div:

<div>
 <input type="text"/>
 <button type="submit">submit</button>
</div>

(Возможно, потому что, когда пользователь нажимает, введите отправленную форму, но в случае более чем одной формы на веб-странице?)


Обновление: Если причина записи формы из-за состояния отключения JavaScript, true:

1.Что следует добавить в код, чтобы форма имела 2 варианта ajax submit и регулярную передачу?

2. Эта причина имеет место, когда у нас есть веб-сайт, работающий с jquery ui или другим интерфейсом библиотеки javascript (меню, каталог и т. Д.)

Спасибо

Ответы [ 5 ]

4 голосов
/ 09 июля 2010

Возможна более чем одна форма, но более серьезной проблемой является постепенное ухудшение для пользователей, у которых отключен JavaScript, - просто использование divs блокирует любого пользователя, у которого отключен JS.

2 голосов
/ 09 июля 2010

К вашему обновлению:

  1. При создании веб-страницы следует использовать систему отправки по умолчанию и перезаписать ее с помощью JS

  2. У вас должна быть плавная деградация для каждой функции, которую вы используете на своем сайте

2 голосов
/ 09 июля 2010

Поскольку спецификация HTML мало заботит Javascript, и любой тип элемента ввода бессмыслен без связанного действия и, следовательно, элемента формы в HTML.

2 голосов
/ 09 июля 2010

Идея состоит в том, что если Javascript отключен, пользователь все равно может отправить форму традиционным способом.

0 голосов
/ 09 июля 2010

Я нахожу очень хороший учебник jquery + Ajax + PHP для изящной деградации причины, которая делает тег формы единственным правильным выбором.

http://sholsinger.com/archive/2009/08/gracefully-degrading-ajax-php-jquery/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...