Bonjour,

Voila je rencontre un petit problème , merci d'avance pour votre aide.

Ce que je fais

Je cherche à creer dynamiquement un id pour un input text, je note l'id dans mon input text et je dois récuperer cet id que j'ai noté mais ça me retourne, voir plus bas, bien un id mais un id NaN ( Not a Number) est ce que j'utilise mal les parametres de la methode attr() ?

$('#btnOk2').on('click', function () {
            var idZoneTexte = $('#inpt2').val();
            $('#gauche').append('<input type="text" name="inpt3"> <br>');
            $('input[name="inpt3"]').attr('id', +idZoneTexte);
            });

Ce que je veux

Décrivez ici ce que vous cherchez à obtenir

Ce que j'obtiens

<input type="text" name="inpt3" id="NaN">

4 réponses


SLK
Réponse acceptée

Salut,

est-ce que tu veux que 'inpt2' et 'inpt3' aient le même id ?
Si oui,
je crois qu'il faut juste enlever le "+"

$('input[name="inpt3"]').attr('id', idZoneTexte);

Salut Parad0xJ, tu peux enlever le + comme dit SLK, et aussi vérifier que l'input ci-dessous existe bien dans ton DOM

var idZoneTexte = $('#inpt2').val()

En fait c'est pas évident de comprendre avec juste ce bout de code.

Il y a un champ (text j'imagine),
qui a un id "inpt2",
dont la valeur est le futur id du champ qui a le name "input3",
du coup je ne pense pas qu'il veuille que les 2 champs aient le même id
(d'ailleur ça serait étrange, je ne sais pas pourquoi j'ai dis ça)

À mon avis le "+" est juste là par une erreur d'inattention, ça arrive ^^

Parad0xJ
Auteur

Merci à vous effectivement ça régle le probleme vous avez raison. Il fallait enlever le +, le probléme c'est que j'utilise trois fois cet input du coup a chaque fois il prends le nom de la dernière occurence ou plutôt le derneir Id mis. je devrais regler ça avec une boucle each peut être.
Pour le inpt2 non je ne veux pas qu'il ait le même id il est juste là pour récuperer l'id 3
Merci Merci Merci