Bonjour à tous,

Je suis en train de créer une application permettant d'envoyer des données sur un serveur à l'aide d'un formulaire ASPX.
La page est celle-ci. J'ai donc essayé d'envoyer les données à l'aide de requêtes js mais, étant novice dans le javascript (et même la java), je n'y arrive pas, d'autant plus que certains combobox font rafraîchir la page de manière modifiée.

Voici mon code (m'en voulez pas )

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
try {
					final String userpass = useredit.getText().toString(); //Récupérer l'username
					final String passpass = passedit.getText().toString(); //Récupérer le mot de passe
					final WebView myWebView = new WebView(MainActivity.this);
					WebSettings mWebSettings = myWebView.getSettings();
					mWebSettings.setSavePassword(false);
					mWebSettings.setSaveFormData(false);
					setContentView(myWebView); //only for debugging, to see what happens
					dialog.dismiss();
					etap = 0; //Pour changer d'étape lors du rafraîchissement de la page
					myWebView.setWebViewClient(new WebViewClient() {
						@SuppressLint("SetJavaScriptEnabled")
						public void onPageFinished(WebView view, String url) {
							Log.i("", url);
							if(view.getUrl().equals("http://www.geocaching.com/login/default.aspx?redir=/hide/report.aspx") || 
								view.getUrl().equals("https://www.geocaching.com/login/default.aspx?redir=/hide/report.aspx")) { //Voir si l'adresse obtenue est bonne (en http comme https)
								view.getSettings().setJavaScriptEnabled(true);
								view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_tbUsername').value = '"+userpass+"';"); //entrer username
								view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_tbPassword').value = '"+passpass+"';"); //entres password
								view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_btnSignIn').click();"); //soumettre le formulaire de login
							} else if(view.getUrl().equals("http://www.geocaching.com/hide/report.aspx") || view.getUrl().equals("https://www.geocaching.com/hide/report.aspx")) { //si l'adresse est celle du formulaire final, celui où je bloque
								view.getSettings().setJavaScriptEnabled(true);
								switch(etap) {
								case 0:
									view.loadUrl("javascript:document.getElementsByName('ctl00$ContentBody$LatLong')[0].value=0;"); //changer la valeur d'un combobox
									view.loadUrl("javascript:__doPostBack('ctl00$ContentBody$LatLong','ProcessFormatChange');");
									etap++;
									break;
								case 1:
									view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_SelectStateCountryPanel1_ddCountry').selectedIndex = '"+country_TEMP+"';"); //changer la valeur du pays
									view.loadUrl("javascript:__doPostBack('ctl00$ContentBody$SelectStateCountryPanel1$ddCountry',''), 0;");
									etap++;
									break;
								case 2:
									view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_ddCacheType').selectedIndex = '"+cachetype_TEMP+"';");
									view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_ddCacheSize').selectedIndex = '"+cachesize_TEMP+"';");
									String cachename_send = cachename_TEMP.replaceAll("'", "\'");
									view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_tbNickname').value = '"+cachename_send+"';");
									view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_uxDatePlaced').value = '"+date_TEMP+"';");
									view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_uxDateFormatLabel').value = 'dd/MM/yy';");
									view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_LatLong:_selectNorthSouth').selectedIndex = '"+lat_or_TEMP+"';");
									view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_LatLong:_selectEastWest').selectedIndex = '"+lon_or_TEMP+"';");
									view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_LatLong__inputLatDegs').value = '"+latitude_TEMP+"';");
									view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_LatLong__inputLongDegs').value = '"+longitude_TEMP+"';");
									view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_SelectStateCountryPanel1_ddState').selectedIndex = '"+county_TEMP+"';");
									view.loadUrl("javascript:document.getElementsByName('ctl00$ContentBody$rblDifficulty')["+starjs(diff_TEMP)+"].checked = true;");
									view.loadUrl("javascript:document.getElementsByName('ctl00$ContentBody$rblTerrain')["+starjs(terr_TEMP)+"].checked = true;");
									String hint_send = hint_TEMP.replaceAll("'", "\'");
									view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_tbHints').value = '"+hint_send+"';");
									String reviewernote_send = reviewernote_TEMP.replaceAll("'", "\'");
									view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_gsNoteToReviewer').value = '"+reviewernote_send+"';");
									view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_chkUnderstand').checked = true;");
									view.loadUrl("javascript:document.getElementById('ctl00_ContentBody_chkDisclaimer').checked = true");
									view.loadUrl("javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('ctl00$ContentBody$btnSubmit', '', true, '', '', false, false))"); //soumettre le formulaire (je ne suis pas sûr de bien m'y prendre..)
									break;
								}
							}
						}
					});
					myWebView.loadUrl("http://www.geocaching.com/login/default.aspx?redir=/hide/report.aspx");
				} catch(Exception e) {
					AlertDialog.Builder myAlertDialog = new AlertDialog.Builder(MainActivity.this);
					myAlertDialog.setTitle("Error !");
					myAlertDialog.setMessage("Please contact the developer.");
					myAlertDialog.setPositiveButton("OK", null);
					myAlertDialog.show();
					dialog.dismiss();
				}
Mon problème est que je n'arrive pas à prendre la page rafraîchie par le js pour remplir les nouveaux champs..
Voilà, désolé pour le code un peu "brouillon", et si vous pouviez m'aider ça me ferait super plaisir ! Je désespère un peu là..

Merci d'avance !