私は立ち往生していて確信が持てません。Web ページは、既存の XML ファイルに基づいて表を表示しています。
テーブルに新しい行を追加するオプションを提供したいだけです。JS を使用して外部 XML ファイルに書き込むことはできないと読んだので、PHP スクリプトを使用する必要があります。
問題は、実装ロジックがよくわからないことです。ここに私のポイントがあります:
- ページは空のテーブルで表示されます (完了)。
- Javascript はテーブルに XML ファイル データを入力します (完了)。
- ユーザーが HTML フォーム フィールドに入力します。
- ユーザーが「送信」ボタンを押すと、javascript がフィールドの内容をキャプチャし、PHP スクリプト (POST メソッド) に送信します (まだ開発されていません)。
- PHP は POST データをキャッチし、XML ファイルに追加します (まだ開発されていません)。
- 完了すると、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);
?>
もう一度手を貸していただけますか?