Je dois récupérer toutes les valeurs de la page HTML suivante comme Data0, Data1, Data2, etc.,
webView.evaluateJavaScript("document.getElementsByName('form1').value") { (result, error) in print(result as Any) print(error as Any) }
3 Réponses :
Le formulaire n'a pas de valeur, vous devez le récupérer à partir des enfants d'entrée code>.
Pas non plus que
getelementsbyname code> renvoie un nodelist code> et non un seul élément.
val values = {};
Array.from(document.getElementsByName("form1")[0].children).forEach(input => {
values[input.getAttribute("name")] = input.value;
});
Merci pour votre réponse. J'ai besoin de transmettre ceci comme une chaîne dans mon délégué comme ci-dessous, webview.évaluatejavascript ("document.getelementsbyName (" Formulaire 1 '). Valeur ") {(résultat, erreur) dans l'impression (résultat que tout) Imprimer (erreur Quelconque) } . Pouvez-vous me laisser savoir comment le formater pour récupérer toutes les valeurs?
Fondamentalement, vous pouvez copier le code et la coller en guillemets simples. Je n'ai aucune expérience de Swift, mais je vous recommanderais de développer le JS séparément et de le tester (dans le navigateur). Ensuite, vous pouvez le minimiser et le stocker dans votre projet SWIFT. Ou vous ouvrez le fichier à Swift et évaluez ceci.
Vous devez ajouter une méthode JavaScript dans votre fichier HTML qui passera des valeurs de formulaire dans votre code SWIFT. Vous pouvez le faire avec WKScriptMessageHandler.
Dans votre fichier HTML, ajoutez le code suivant. Je l'ai nommé index.html strong> et placé localement dans l'application. P> voici le code SWIFT p>
Merci pour votre réponse. Mais sans modifier le fichier HTML, j'ai besoin de récupérer toutes les valeurs. C'est possible?
@ user7413163 Lorsque vous souhaitez extraire ces valeurs, je veux dire sur le bouton clic ou sur n'importe quel autre événement.
Dans Android, ils utilisent le code suivant, String Final String JSCODE = "" + "Parseform (formulaire) {" + "VAR VAR VAILLE = '';" + "pour (var i = 0; i
Lorsque l'événement Didfinish a été licencié, je dois récupérer toutes les valeurs
J'ajouterai une balise "id" dans le champ de saisie comme
J'ai déjà utilisé document.getElementyID (\ "data0 \"). Valeur, mais il renvoie une valeur unique. Mais j'ai besoin de valeurs de forme entières. Une solution pour cela?
J'ai utilisé le code suivant pour obtenir toutes les valeurs de formulaire. Cela a fonctionné parfaitement.