JavaScript Daten aus Formular kommen nicht in PHP an

Duergy

Blogger / Progger
ID: 334432
L
20 November 2008
818
16
Hallo Gemeinde,

ich möchte aktuell ein Login mit jquery und jqueryui realisieren.
Dazu öffne ich ein Dialog und möchte "Benutzername" und "Passwort" via .post an dei php Datei übergeben. Es kommt aber nur "NaN" an.

Wo liegt mein Fehler?

Code:
$(function() {
		$( "#login-form" ).dialog({
			autoOpen: false,
			height: 300,
			width: 350,
			modal: true,
			resizable: false,
			buttons: {
				"Login": function() {
				login_user=$("#login_user").val();
				login_pwd=$("#login_pwd").val();
					$.post(
						"jquery.php",
						{ modul: 'user', login_user: +login_user, login_pwd: +login_pwd, login: 'doit' },
						function(data) {
							if(data=="true"){
								$(window.location).attr('href', 'member.php');
							}
							else{
								/*$("#err_msg").html("<p class='ui-state-error'>Zugang Verweigert</p>");*/
								alert(data);						
							}
						}
					);
				},
				"Abbrechen": function() {
					$( this ).dialog( "close" );
				}
			}
		});

		$( "#user-login" )
			.button()
			.click(function() {
				$( "#login-form" ).dialog( "open" );
			});
	});
 
wenn ich die nicht mache, hängt sich der browser beim absenden auf

EDIT: Komisch jetzt geht es ohne "+" Zeichen

Danke dir
 
Hätte mich sonst auch stark gewundert. Ich bin kein JavaScript-Profi, hätte also auch sein können, dass dies ein ungewöhnliches Syntaxkonstrukt is.

Aber für mich liest sich das so:
Du nimmst die (String)Variable login_user und schreibst ein Pluszeichen davor. Also wandelst du damit den String in eine Zahl um. Das geht aber nicht, weil sich der Inhalt nicht casten lässt, also ergibt der Cast NaN. Jetzt das positive Vorzeichen davor +NaN... bleibt NaN.