0

私は立ち往生していて確信が持てません。Web ページは、既存の XML ファイルに基づいて表を表示しています。

テーブルに新しい行を追加するオプションを提供したいだけです。JS を使用して外部 XML ファイルに書き込むことはできないと読んだので、PHP スクリプトを使用する必要があります。

問題は、実装ロジックがよくわからないことです。ここに私のポイントがあります:

  1. ページは空のテーブルで表示されます (完了)。
  2. Javascript はテーブルに XML ファイル データを入力します (完了)。
  3. ユーザーが HTML フォーム フィールドに入力します。
  4. ユーザーが「送信」ボタンを押すと、javascript がフィールドの内容をキャプチャし、PHP スクリプト (POST メソッド) に送信します (まだ開発されていません)。
  5. PHP は POST データをキャッチし、XML ファイルに追加します (まだ開発されていません)。
  6. 完了すると、javascript は、新しく更新された XML ファイル (まだ開発されていません) を使用してテーブルを更新します。

私はこれを正しく行っていますか?ご協力ありがとうございました!

--

編集

ご協力ありがとうございました。残念ながら、私はこれを機能させることはできません。フォーム値を取得できません (pEnseigne は定義されていません)

HTMLフォームはこちら(抜粋)

<form class="form-inline" name="newlineform">
<input type="text" class="input-small" placeholder="Enseigne" name="enseigne"/>
<button type="submit" class="btn btn-primary" id="zou">Zou!</button>
</form>

ここにJS関数(抜粋)があります

$('#zou').on('click', function(){
exportLine();
$('.form-inline').hide();
$('#ajouter').fadeIn();
return false
});

function exportLine(){
var pEnseigne = $('#enseigne').val();
var xmlhttp;
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
loadData();
}}
xmlhttp.open("POST","php/form-process.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fenseigne="+pEnseigne);
}

そしてPHPのこと

<?php
$enseigne = htmlentities($_POST['fenseigne']);
$lignes = simplexml_load_file('../list.xml');
$lignes->ligne->addChild("enseigne",$enseigne);
?>

もう一度手を貸していただけますか?

4

2 に答える 2

1

あなたの一般的なプロセスは健全だと思います。ただし、単純なポストフォームを実行する代わりに、javascript を使用してフォームをキャプチャして送信します。これにより、更新をトリガーする前に、php がステータス コードを返すのを待つように JavaScript メソッドを設定できます。

リクエストを非同期に送信し、ハンドラーを使用して結果を処理する方法については、こちらを参照してください。

http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp

于 2013-10-07T14:35:51.323 に答える