caveat: das wäre wahrscheinlich ziemlich einfach mit einem submit, aber wegen jemandes anderen #%^$! & Code, jeder einreichen löscht alle Daten auf allen Formen auf der Seite, also kann ich .submit nicht verwenden()
hier ist, was ich zu tun habe versucht:
Schritt 1: einen Link auf einer Seite, über Javascript, öffnet ein Popup. Dieses Popup hat einige Felder, die Sie ausfüllen, und mit window.opener.getElementById ('hiddenX'). value werden verschiedene versteckte HTML-Elemente auf der Originalseite aktualisiert und das Popup geschlossen.
Schritt 2: Beim Entladen des Popups werden die HTML-Elemente über Javascript geändert.
Schritt 3: die aktualisierte HTML-Elemente werden zurück zu $ _POST auf der Seite
Schritt 4 hinzugefügt: ein bisschen PHP-Code führt eine PHP-Funktion unter Verwendung der Werte von $ _POST sowie der durch früher erzeugten Wert PHP-Code zum Erstellen und Senden einer E-Mail.
Ich glaube nicht, dass ich die Werte über eine GET-style-URL übergeben kann, da einige der Werte sehr sehr lange Textzeichenfolgen sind, und es werden wahrscheinlich auch einige Arrays sein. Ich habe versucht, .post (window.location, {val1: "1stvalue"}) in Kombination mit einem .load() auf dem div zu verwenden, das den PHP-Code von Schritt 4 enthält. Ich denke, das div aktualisiert, aber der POST-Wert bleibt leer . irgendwelche Ideen?
Skript:
$(".email1").on('click', function (event) {
var win1 = window.open("../sub1.php","_blank","height=450,width=510, status=yes,toolbar=no,menubar=no,location=no");
$(win1).on('unload', function (event){
if(document.getElementById('hidden1').value != "z"){
$tosend2 = document.getElementById('hidden3').value;
...... // various changes to $tosend2 and other elements on the page
$.post(window.location, { hidden3 : "abc" }); //temporarily use "abc" instead of $tosend2
$("#emaildiv").load(location.href+" #emaildiv2>*","");
}
});
});
html/php:
<div style="display : hidden" name="emaildiv" id="emaildiv">
<input type="hidden" name="hidden1" id="hidden1" value="z" />
<input type="hidden" name="hidden3" id="hidden3" value="z" />
</div>
<div style="display : hidden" name="emaildiv2" id="emaildiv2">
<?php
echo "<div class='error'> what is the val?: " . $_POST['hidden1'] . " </code></div>";
if(!empty($_POST['hidden1'])){
if($_POST['hidden1'] != "z"){
echo "<div class='error'> what is it now?: " . $_POST['hidden1'] . " </code></div>";
//emailstuff($locnlist, $_POST['hidden1'], $_POST['hidden3']);
//echo "email sent";
}
}
?>
</div>