2013-12-04 1 views
-1

У меня есть проблема.Не работает attr требуется, если получить его как JSON

Я посылаю запрос AJAX, как dateType: JSON, и получить HTML код, вставьте его в $ (селектор) .html (res.html), и браузер не понимаю атр требуется =» требуется " и type =" email ", не работает.

Только если я изменяю dateType на HTML это работает.

Как я могу заставить его работать?

$.ajax({ 
    dataType: "json", 
    success: function (res) { 
    $("#html").html(res.html); 
    } 
}) 

разрешение:

{"status": true, "html": "<form id=\"ajax-form\"><input type=\"email\" name=\"email\" required=\"required\" /></form>"} 

http://jsfiddle.net/6a2Ja/2/

+0

и мы должны угадать код ?! –

+1

Недействительный JSON. Строки ** должны быть обозначены двойными кавычками, а не одинарные кавычки. –

+0

i add jsfiddle link: http://jsfiddle.net/6a2Ja/2/ – Swain

ответ

0

Ваш HTML работает отлично. У <input> есть все атрибуты, которые он должен. Проблема в том, что кнопка отправки не в том месте. Это должно быть внутри форма.

Сделайте это, тогда оно отлично работает. Таким образом, в основном сделать ваш JSON:

{"status": true, "html": "<form id=\"ajax-form\"><input type=\"email\" name=\"email\" required=\"required\" /><input type=\"submit\" value=\"send\" /></form>"} 

DEMO: http://jsfiddle.net/6a2Ja/3/

+0

Да, спасибо, спасибо. но что если у меня нет кнопок «submit» в форме? пример: [http://jsfiddle.net/6a2Ja/4/](http://jsfiddle.net/6a2Ja/4/) – Swain

+0

@Swain: Если кнопка отправки не в форме, то она выиграла ' Знать, что нужно действовать в этой форме. Затем вам нужно будет использовать JavaScript, чтобы кнопка отправила форму. –

+0

Спасибо, что очень за ответ. переписать мой код, теперь отлично работает. – Swain