2017-06-01 14 views
0

htmlページを作成しました。このページには、テキストフィールドで変更できる値がいくつかあります。これがどのように機能するかの例:変更後の値がPDF変換後に表示されない

Voornaam: <h3 class="title1">Test</h3> 
     <input type="text" id="myTextField1"/> 
     <input type="submit" id="byBtn" value="Change" onclick="change1()"/><br/> 

機能にリンクされている:

function change1(){ 
    var myNewTitle = document.getElementById('myTextField1').value; 
    if(myNewTitle.length==0){ 
     alert('Write Some real Text please.'); 
    return; 
    } 
    var titles = document.getElementsByClassName('title1'); 
    Array.prototype.forEach.call(titles,title => { 
    title.innerHTML = myNewTitle; 
    }); 
} 

ここで変更することになっているものは次のとおりです。

<p class="title1">Test.</p><p class="title2">Achternaam</p> 

それは、この値を変更しない、しかし、私はwkhtmltopdfを使用してhtmlからPDFへのメソッドを作成しました。変換後、最初の値が返されます。私の新しい価値はPDF版ではありません。

私はhtmlをPDFに変換する方法の例を提供することができますが、wkhtmltopdfを使用する単純なコマンドなので、これは不要です。

私の新しい価値が変換されてPDFに表示されるよう、どのようにして誰に教えてもらえますか?

編集: 変換の仕組みの説明私のhtmlページの下部に

があります:

これを実行します
<?php 
     $link_address = 'convert.php'; 
      echo "<a href='".$link_address."'>converten naar pdf.</a>"; 
      ?> 

$command = '/usr/local/bin/wkhtmltopdf [my link here] '.$path; 

if($status = 1){ 
shell_exec($command); 
echo 'De offerte is omgezet naar pdf en opgeslagen in: '. $path; 
} 

これは機能しますが、私は私の変更値で..ない言ったように。

+0

私は「wkhtmltopdf」を見ましたが、明らかにコマンドラインツールです。つまり、あなたのハードドライブ上のHTMLドキュメントを処理します。もちろん、ブラウザのJSへのJSの変更の影響を受けません。しかし、すでにこれを考慮している場合は、PDFへの変換の方法と時期についてより明確に説明する必要があります。 –

+0

私は変換のために私のPHPの中でコマンドを実行することは事実です。私はそれをさらに説明するために投稿を編集します。 –

+0

もう一度、*サーバー上の*は変更していません。 JavaScriptコードはクライアントのブラウザで実行され、その変更はウェブページを見るために使用しているコンピュータのRAMでのみ発生します。そうしないと、サーバーを最初にハックすることなく、無作為に任意のWebサイトを自由に変更できます。 –

答えて

1

変更をサーバーに送信する必要があります。フォームを提出するのとまったく同じです。これを行うには

一つの方法は、あなたのJSコードはまた、非表示の入力フィールドを設定することです:

<form id="changes" action="convert.php" method="post"> 
    <input type="hidden" name="title"> 
    <!-- more inputs here --> 
    <input type="submit" value="converten naar pdf."> 
</form> 

ユーザーがそのフォームを送信すると、あなたのconvert.phpは今

  • HTMLドキュメント
  • を読むことができます
  • オリジナルタイトルを$_POST['title']
  • と置き換えて、変更されたドキュメントを一時ファイルとして保存します。
  • 変換を実行する
+0

私は経験があまりないので、これを見なければなりません。自分のコードに基づいて簡単な例を挙げることはできますか?多分JSFiddleは非常に高く評価されるでしょう。 –

+0

ここでは、 'のコード例を示します:http://ideone.com/16EzT1 –

+0

ありがとう、私はこれを試してみます。 –

関連する問題