• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

jquerymobile newsletter

Absenden-Button? Dialog? Beschreib bitte genauer was Du hast und was Du willst.

Code:
<button type="submit" name="submit" value="submit-value">Anmelden</button>

Ich möchte nach dem klicken dieses Buttons, dass die Anmeldung ausgeführt wird und sich der Dialog schliesst. Der Dialog ist ein popup Fenster.

Grüsse
 
Du meinst kein Popup-Fenster sondern eher ein Flyout?

Anders formuliert:
Du hast ein Flyout indem ein Formular enthalten ist. Du möchtest dieses Formular jetzt abschicken, dabei aber nicht die Seite verlassen sondern auf der Seite bleiben.

Stimmts?

Wenn ja, musst Du einen AJAX-Request zum Formular ergänzen, nicht an den Button, der beim Abschicken des Formulars ausgeführt wird, aber dabei das Formular selbst nicht abschickt. In einer Callback-Funktion prüfst Du, ob die Anmeldung korrekt war und wenn ja, entfernst Du das Flyout aus dem DOM.

Schnippsel dazu:
HTML:
<form action="#" onsubmit="return formularsenden();">

Code:
function formularsenden() {
 /* Hier den AJAX-Request ergänzen inkl. Callback-Funktion namens formularsenden_callback() */
 return false;
}

function formularsenden_callback() {
 /* hier dann das Flyout ausblenden lassen */
}

Mit jQuery geht das sicherlich auch, abhängig davon was Du hiervon schon verwendest.
 
Moin,
der Dialog sollte nach dem Absenden automatisch geschlossen werden.
Wie sieht denn dein Dialog und das Formular aus?

MfG
 
Moin,
der Dialog sollte nach dem Absenden automatisch geschlossen werden.
Wie sieht denn dein Dialog und das Formular aus?

MfG

Den $msg_to_user gibt er auch nicht an obwohl die dtaen in di DB geschrieben werden.

Code

Code:
<a href="newsletter.php" data-inline="true" data-rel="dialog" data-transition="flip">Newsletter</a>

Formular

Code:
<div data-role="dialog"> 
		<div data-role="header" data-theme="d">
			<h2>Newsletter</h2>
		</div>
		
	<div data-role="content" data-theme="c">
		<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
			Name:<br />
			<input style="width:250px;" name="name" type="text" value="<?php echo $name; ?>" /><br /> 
			Email:<br />
			<input style="width:250px;" name="email" type="text" value="<?php echo $email; ?>" /><br /><br />
			<button type="submit" name="submit" value="submit-value">Anmelden</button>
			<a href="#" data-role="button" data-rel="back" data-theme="b">Cancel</a>
		</form>
	</div>
	</div>
Script

Code:
<?php


$name = "";
$email = "";
$msg_to_user = "";
if ($_POST['name'] != "") {
	
	
	include_once "newsletter/connect_to_mysql.php";
	
	// Be sure to filter this data to deter SQL injection, filter before querying database
	$name = $_POST['name'];
	$email = $_POST['email'];
	
	$sql = mysql_query("SELECT * FROM newsletter WHERE email='$email'");
    $numRows = mysql_num_rows($sql);
    
    	
    	  
   
   	if (!$email) {
		
		$msg_to_user = '<br /><br /><h4><font color="1dd2ff">Bitte geben Sie eine E-Mail Adresse ein ' . $name . '.</font></h4>';
			
	} else if ($numRows > 0) {
		
		$msg_to_user = '<br /><br /><h4><font color="red">' . $email . ' ist bereits im System.</font></h4>';
		
	} else {
    
		
		$sql_insert = mysql_query("INSERT INTO newsletter (name, email, dateTime) 
												    VALUES('$name','$email',now() )")  or die (mysql_error());
		
		$msg_to_user = '<br /><br /><h4><font color="1dd2ff">Danke ' . $name . ', Sie wurden erfolgreich registriert.</font></h4>';
		$name = "";
        $email = "";
        
        $mail_absender="[email protected]";
		$betreff="Registrierung";
		$text="Sie wurden erfolgreich registriert. Der erste Newsletter folgt am 1. November.";
		
		mail($email, $betreff, $text, "from:$mail_absender");


 	}       
	
}
	


?>
 
Gibt es denn überhaupt eine Fehlermeldung?
$msg_to_user gibts du ja nirgends aus.
Oder welche Seite soll er anzeigen nach dem absenden? Da steht da nämlich nichts von.

MfG
 
Zurück
Oben