Autor Zpráva
Anttinko
Profil
Dobrý den,

potýkám se s problémem, jak odeslat pomocí jquery ajax funkce html tabulku, kterou naplňuji metodou .append (Jquery).

živá ukázka je na http://wwwcen.miontech.cz/cenovakalkulace.php

obsah jquery souboru je zde : http://wwwcen.miontech.cz/js/finalfunkce.js
obsah php souboru pro zpracování a odeslání emailu tady : http://wwwcen.miontech.cz/php/odeslat-formular.phps

Ve výsledném emailu se zkrátka tabulka nezobrazí. Přitom v get requstu (Firebug) se mi zobrazí jako poslaná proměnná.

Jsem začátečník v oblasti programování webových stránek, proto věřím, že ty kody budou obsahovat hodně zmatků a zbytečných příkazů.

Děkuji za jakoukoliv odpověď.

Ondřej Maschke
juriad
Profil
Projdi si skripty, některý z nich (že by ta animace fotek v hlavičce) šíleně vytěžuje procesor (asi 25%, pokud na animaci najedu, tak se zátěž zvětší na 70%) Uživatelé na mobilech nebo noteboocích ti poděkují.

Dej sem ještě celý email, který ti přijde při odeslání cenové kalkulace. Celý myslím originální, (řiď se obrázkovým návodem na http://www.askdavetaylor.com/how_to_see_full_headers_gmail_email_message.html)
Anttinko
Profil
Zde přikládám "celý" email.
                                                                                                                                                                                                                                                               
Delivered-To: ondrej.maschke@gmail.com
Received: by 10.223.172.197 with SMTP id m5csp69915faz;
        Mon, 22 Apr 2013 03:39:46 -0700 (PDT)
X-Received: by 10.204.168.68 with SMTP id t4mr10711276bky.27.1366627186417;
        Mon, 22 Apr 2013 03:39:46 -0700 (PDT)
Return-Path: <ondrej.maschke@miontech.cz>
Received: from mail1-pub.klenot.eu (mail1-pub.klenot.eu. [91.207.188.82])
        by mx.google.com with ESMTPS id ma9si8752679bkb.21.2013.04.22.03.39.45
        (version=TLSv1 cipher=RC4-SHA bits=128/128);
        Mon, 22 Apr 2013 03:39:46 -0700 (PDT)
Received-SPF: neutral (google.com: 91.207.188.82 is neither permitted nor denied by best guess record for domain of ondrej.maschke@miontech.cz) client-ip=91.207.188.82;
Authentication-Results: mx.google.com;
       spf=neutral (google.com: 91.207.188.82 is neither permitted nor denied by best guess record for domain of ondrej.maschke@miontech.cz) smtp.mail=ondrej.maschke@miontech.cz
Message-Id: <51751372.09f7cc0a.72ff.0c33SMTPIN_ADDED_MISSING@mx.google.com>
Received: from antispam.gransy.com (antispam.gransy.com [77.78.104.124])
    by mail1.klenot.eu (Postfix) with ESMTP id 850E99C9AC
    for <ondrej.maschke@gmail.com>; Mon, 22 Apr 2013 12:39:51 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at antispam.gransy.com
X-Amavis-Alert: BAD HEADER SECTION, Non-encoded 8-bit data (char C5 hex):
    Subject: Ond\303\205\302\231ej Maschke - C[...]
X-Spam-Flag: NO
X-Spam-Score: 1.983
X-Spam-Level: *
X-Spam-Status: No, score=1.983 tagged_above=0 required=5 tests=[BAYES_00=-1.9,
    HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, MIME_HTML_ONLY=0.723,
    MISSING_MID=0.497, RDNS_NONE=0.793, SUBJECT_NEEDS_ENCODING=0.049,
    SUBJ_ILLEGAL_CHARS=1.518, TO_NO_BRKTS_NORDNS=0.001,
    TO_NO_BRKTS_NORDNS_HTML=0.001] autolearn=no
Received: from mail1-pub.klenot.eu ([91.207.188.82])
    by antispam.gransy.com (antispam.gransy.com [77.78.104.124]) (amavisd-new, port 10024)
    with ESMTP id DQwHAJCDggOo for <ondrej.maschke@gmail.com>;
    Mon, 22 Apr 2013 12:39:39 +0200 (CEST)
Received: by mail1-pub.klenot.eu (Postfix, from userid 200)
    id 49B639C9BD; Mon, 22 Apr 2013 12:39:51 +0200 (CEST)
Received: from web2.klenot.eu (unknown [77.78.104.102])
    by mail1-pub.klenot.eu (Postfix) with SMTP id EC8379C9B1
    for <ondrej.maschke@gmail.com>; Mon, 22 Apr 2013 12:39:48 +0200 (CEST)
Received: by web2.klenot.eu (sSMTP sendmail emulation); Mon, 22 Apr 2013 12:39:43 +0200
Date: Mon, 22 Apr 2013 12:39:43 +0200
To: ondrej.maschke@gmail.com
Subject: Ondřej Maschke - Cenová kalkulace
X-PHP-Originating-Script: 3553:odeslat-formular.php
MIME-version: 1.0
From: ondrej.maschke@miontech.cz
Content-type: text/html; charset=utf-8
X-Mailer: PHP



     <html>
      <head>
      
      <style>
     body {color: black;}
     th {background-color: #021B5D; color: #F7F411;}
     table {border-collapse: collapse; width: 900px; font-size: 70%; text-align: center;}
     td {height: 150%;}
      </style>
      </head>
     <body>
     <br />
          Ondřej <br/>
     Maschke <br/>
     Něco 12334<br/>
     123345648<br/>
     Nějaká poznámka <br/>
     
     <br /><br />  
     <br />
     
     </body>
     </html>

Za ostatní postřehy vělice děkuji. Jakmile vyřeším tento problém, vrhnu se návrhy pro vylepšení.

Děkuji

Ondřej Maschke
juriad
Profil
Problém je možná v tom, že ty to odesílané html nijak nekóduješ. Ta tabulka obsahuje dost divných znaků, které v URL vadí. Firebug se tím možná prokouše.
Zkus příslušnou řádku nahradit následující:
data: $('.ajaxform').serialize() + "&"+$.param({emailTable: emailTable}),

Zkus do toho odesílacího skiptu zároveň přidat (dočasně)
echo emailTable;
ať se na klienta vrátí emailTable, tak jak ji server pochopil (zobrazí se jako odpověď ve Firebugu).
Anttinko
Profil
http://postimg.org/image/949j8ttn1/
http://postimg.org/image/qlvvuhbef/

Dal jsem alert(emailTable) -> viz obrázek. Pošle se celý html kod tabulky (obsah divu k tomu určený).

EDIT: Zkusil jsem to s tím echo v odeslat-formular.php. Odezva ve Firebugu je jen "emailTable"
juriad
Profil
Věřím tomu, že se pošle, ale mě zajímá, co dojde na server.
Zkus poslání předělat na metodu POST, protože GET je délkově omezená: http://www.php.net/manual/en/reserved.variables.get.php#101469

Myslel jsem přidat
echo $tabulka;
na konec skriptu odeslat-formular.php
Zároveň můžeš dočasně zablokovat funkci mail, aby tě nespamovala s každým pokusem.

Tak můžu třeba zkusit neodeslat celou tabulku, ale jen kus a vidět okamžitě ve firebugu, co se dostane na server.
Anttinko
Profil
Tak to vypadá, že to funguje!

http://postimg.org/image/krh2q1gtd/

Moc krát děkuji!

Ještě to otestnu ve všechn prohlížečích.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0