J'ai un formulaire pour modifier l'utilisateur et je souhaite insérer les données utilisateur de la base de données dans les champs des formulaires. Ce que je fais estParamètre jQuery Valeur du champ de saisie
Lien
<a href="javascript:void(0)" onclick="editUser('/edit/${user.login}')">Edit</a>
Script
function editUser(url) {
$("#edit-form").dialog("open");
$.ajax({
url: url,
type: "POST",
success: function (resp) {
$('input[name="elogin"]').val(resp.login);
}
})
}
Formulaire
<div id="edit-form" title="Edit user">
<p class="validateTips">All form fields are required.</p>
<form:form>
<fieldset>
<label for="elogin">Login</label>
<input type="text" name="elogin" id="elogin" class="text ui-widget-content ui-corner-all" />
</fieldset>
</form:form>
</div>
Mon contrôleur retourne au printemps suivant (en emballage j'ai champ login
)
@RequestMapping(value="/edit/{userLogin}", method=RequestMethod.POST)
@ResponseBody
public Wrapper edit(@PathVariable String userLogin) {
return wrapper.wrap(userService.findByLogin(userLogin));
}
Mais le formulaire est vide. J'ai également essayé de définir des valeurs manuelles mais toujours pas d'utilisation. S'il vous plaît aidez-moi à définir la valeur du champ de saisie.
Avez-vous vérifié la console pour des erreurs? Quelle est la valeur renvoyée dans 'resp'? –
vous avez besoin de voir ce qui revient, il ne peut pas traiter comme json. Ajoutez dataType: 'json' à votre méthode ajax. – carter
Aucune erreur dans la console. La valeur de 'resp' devrait être l'entité, qui a le champ' String login' – qiGuar