SimpleCart (js), получить информацию перед оформлением заказа - PullRequest
1 голос
/ 07 ноября 2011

Я скачал 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, и, кажется, работает! Почему я не думал об этом раньше?;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...