Я скачал SimpleCart (js) (http://simplecartjs.com/) и мне удалось оформить заказ по электронной почте, но я хочу собрать некоторую информацию от покупателя, прежде чем проверять.
Вот какдалеко я зашел:
Форма в checkout.php:
<form action="sendjs.php" name="form" method="post">
<input placeholder="Namn" type="text" name="namn" value="Namn" id="namn" />
<input placeholder="Mobilnummer" type="text" name="telefon" value="Telefon" id="telefon" />
<a href="javascript:void(0);" onclick="javascript:Bestall();" class="simpleCart_checkout">
Beställ</a>
</form>
Javascript:
me.emailCheckout = function Bestall() {
itemsString = "";
for( var current in me.items ){
var item = me.items[current];
itemsString += item.quantity + " st\n" + item.name + "\n Pris: " + item.price + " kr/st \n\n";
}
namn += " ";
telefon += " ";
me.total += "" + " KR"
var form = document.createElement("form");
form.style.display = "none";
form.method = "POST";
form.action = "sendjs.php";
form.acceptCharset = "ISO-8859-1";
form.appendChild(me.createHiddenElement("jcitems", itemsString));
form.appendChild(me.createHiddenElement("jctotal", me.total));
form.appendChild(me.createHiddenElement("namn", namn));
form.appendChild(me.createHiddenElement("telefon", telefon));
document.body.appendChild(form);
form.submit();
document.form.submit();
document.body.removeChild(form);
}
me.customCheckout = function() {
return;
};
sendjs.php:
<?php
include 'simpleCart.js';
$to = 'jennifer.nilsson@hotellgruppen.se';
$subject = 'Beställning';
$jcitems = $_POST['jcitems'] .
" \n SUMMA: " . $_POST['jctotal'] .
" \n\n Namn: " . $_POST['namn'] .
" \n Telefon: " . $_POST['telefon'] .
" \n\n IP: " . $_SERVER['REMOTE_ADDR'] .
" \n Datum: " . date("Y-m-d") .
" \n Tid: " . date("H:i:s") ;
$headers = 'From: Bestallning@Mobil' . "\r\n" .
'Reply-To: Bestallning@Mobil' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $jcitems, $headers);
/*Clearing the cart info after succesfull order is made*/
setcookie ("simpleCart", "", time() - 3600);
Header('Location: tack.html');
?>
Когда я получаю электронное письмо, оно отображало «[object HTMLInputElement]», где должны были отображаться «namn» -value и «telefon» -value, затем я погуглил и обнаружил:
И я поместил этот код в checkout.php, но вместо этого он отображает «null».
Почему он не собирает информацию из формы? Все остальное прекрасно работает, кроме «namn» и«Телефон», который я пытаюсь собрать из формы. Спасибо за вашу помощь!
РЕДАКТИРОВАТЬ:
Нашел ответ, я думаю:
namn = document.form.namn.value;
telefon = document.form.telefon.value;
Измененоэто в JS, и, кажется, работает! Почему я не думал об этом раньше?;)