jquery ajax odcina odpowiedź w IE
Używamwtyczka formularza jquery który używa jquery ajax do wykonywania większości swojej pracy. Mamy jquery 1.7.2
Używamy go do wysłania formularza przez ajax na serwer i zwracamy wartość wskazującą na sukces lub zwracamy formularz z błędami sprawdzania poprawności.
Pracuję w firefoxie i chrome, gdy wykryty zostanie błąd podczas sprawdzania poprawności, zawartość div zawierającego starą formę zostanie zastąpiona nową, która zawiera błędy.
$ ('# FormDiv'). Empty (). Html (odpowiedź);
Odpowiedź wyglądałaby następująco:
<form action="/MyForm/Edit" id="MyForm" method="post"><input id="Id" name="Id" type="hidden" value="" />
<input id="PlantId" name="PlantId" type="hidden" value="1" />
<table>
<tr><td class="field">
ID
</td>
<td>
<input class="required" id="MyId" name="MyName" type="text" value="JP001" />
</td>
<td class="field">Description</td>
<td><input class="required" id="Description" name="Description" type="text" value="" />
</tr>
<tr>
<td class="field">Created by</td>
<td>Joe Bloggs</td>
<td class="field">Create date</td>
<td>15/06/2012</td>
</tr>
</table>
</form>
Debugowanie w IE Widzę, że wywołanie ajax rzeczywiście ma to w treści zwracanej, jednak parametr mojej metody usuwa znaczniki początkowe i końcowe formularza zewnętrznego, więc zasadniczo jest to tylko tabela.
Wypróbowałem kilka różnych rzeczy, aby to sprawdzić, włączając ustawienie processData na false (nie wiem, czy i tak by to miało na to wpływ) i ustawienie parametru returnType na „text” i „html”, ale tak naprawdę nic nie pomogło.
Jakieś pomysły?
Okazuje się więc, że jeśli otworzę formularz w div, wszystko działa dobrze, nie jestem pewien, co tam się dzieje, jeśli ktoś może to wyjaśnić, może mieć odpowiedź