2017-08-23 1 views
0

J'ai deux cases de sélection dans un formulaire, une pour "Makes" et une pour "Models". Lorsque vous sélectionnez une option de « marques », la « modèles » déroulante est peupléeNouvelle valeur de formulaire non soumise

$(function() { 
$('#id-make-id').change(function(){ 
    var iSel = document.getElementById('id-make-id').value; 
    $('#div-models').load('populate-models-dropdown.asp?makes='+iSel); 
}); 
}); 

<select size="1" id="id-make-id" name="frm-make-id"> 
<option value="1">List of Makes</option 
</select> 

<div id="div-models"> 
<select size="1" id="id-model-id" name="frm-model-id"> 
<option value="1">List of Models</option 
</select> 
</div> 

Les menus déroulants fonctionnent parfaitement. Si le formulaire reste inchangé, les données du formulaire sont correctement envoyées. Cependant, lorsque vous soumettez le formulaire après qu'une modification a été effectuée, une nouvelle liste est dans la liste déroulante des modèles, la valeur de la zone de liste déroulante des modèles (frm-model-id) est 0 après la soumission.

Le script à l'intérieur de "populate-models-dropdown.asp" est identique à celui du formulaire.

Répondre

0

La méthode charge le contenu de la page entière dans cet élément <div>, vous avez probablement plus de choses dans populate-models-dropdown.asp (par exemple le formulaire lui-même), c'est probablement pourquoi il casse.

Pour résoudre ce problème, ont un tel code dans Populate-modèles dropdown.asp:

'...generate contents here... 
Response.Clear() 
Response.Write(rawContents) 
Response.End() 

Cela permettra d'assurer que le contenu brut du menu déroulant HTML sera envoyé, sans autre HTML. Si cela ne fonctionne pas, déboguez le problème en utilisant Inspecter l'élément dans la liste déroulante des modèles (par exemple, F12 dans Chrome) et voyez quel HTML vous avez là et pourquoi il casse le formulaire.