#php #javascript #post #input #null
#php #javascript #Публикация #ввод #null
Вопрос:
Я загрузил 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 " stn" item.name "n Pris: " item.price " kr/st nn";
}
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'] .
" nn Namn: " . $_POST['namn'] .
" n Telefon: " . $_POST['telefon'] .
" nn IP: " . $_SERVER['REMOTE_ADDR'] .
" n Datum: " . date("Y-m-d") .
" n Tid: " . date("H:i:s") ;
$headers = 'From: Bestallning@Mobil' . "rn" .
'Reply-To: Bestallning@Mobil' . "rn" .
'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» и «telefon», затем я поискал в Google и нашел это:
<script type="text/javascript" charset="utf-8">
var namn = <?php echo json_encode($namn); ?>;
</script>
И я вставил этот код в checkout.php но затем вместо этого отображается «null».
Почему он не собирает информацию из формы? Все остальное работает отлично, за исключением «namn» и «telefon», которые я пытаюсь получить из формы. Спасибо за вашу помощь!
Редактировать:
Нашел ответ, я думаю:
namn = document.form.namn.value;
telefon = document.form.telefon.value;
Изменил это в js, и, похоже, это работает! Почему я не подумал об этом раньше? 😉