0

次のようなフォームがあります。

<form method="post" id="aodform">
<label for="a">Animal:</label>
<input class="input" type="text" name="a"/>
<label for="s">Sausage:</label>
<input class="input" type="text" name="s"/>
<label for="g">Bird:</label>
<input class="input" type="text" name="g"/>
<label for="d">Dessert:</label>
<input class="input" type="text" name="d"/>
<input id="submitter" type="submit"/>
</form>

フォームに入力された値を取得し、次のような既存の XML ファイル内の対応するノードのテキスト値を上書き (置換) する必要があります。

<aod>
<animal>x</animal>
<sausage>x</sausage>
<bird>x</bird>
<dessert>x</dessert>
</aod>

今、私は使用できることを知っています

$("#aodform").submit();

Jqueryでフォーム送信を達成するために、しかし、この後、私は迷っています! これらのフォームの値を取得し、それらを関数に変数として格納して、XML ファイルに書き込む方法を見つけようとしています (すべて Jquery で)。

私はグーグルボックス全体を検索し、同様の主題を見つけましたが、私の状況を助けるのに十分に類似していません. 誰か助けてくれませんか?ありがとうございました!

PS私は、PHPのようなサーバー側の言語を使用することはできません。

4

3 に答える 3

3

セキュリティ上の理由から、javascript/jquery を使用してローカル XML ファイルを作成または編集することはできません。Web サイトにアクセスし、Web マスターがコードを書き、それをコンピュータのファイルに保存したと想像してください...

JavaScript を使用してローカル ファイルに書き込む唯一の方法は、Cookie または HTML5 localStorageを使用することです。

localStorage を使用すると、配列の文字列キーと値、および/またはオブジェクトのプロパティ名と値を格納できます。

XML ファイルが必要な場合は、サーバーにファイルを書き込む権限を持つサーバー側のスクリプトを呼び出す必要があります。このスクリプトには、その URL からアクセスできます。

于 2012-10-25T16:39:24.447 に答える
1

クライアント側の jQuery と Javascript は、サーバー側に永続化できません。コードへの書き込みアクセス権はありません。サーバー側の言語にアクセスするか、いくつかのクラウドベースのサービスを利用する必要があります (たとえば、Javascript API 呼び出しを使用して、Amazon 3S、MongoDB、またはそのような性質のものに永続化することができます)。クラウド サービス)。

Javascript/jQuery を使用してクライアントで XML オブジェクトを作成することもできますが、それをファイルに保存するには、それをサーバー側のスクリプトに送信する必要があります。

悪いニュースの担い手になって申し訳ありませんが、これをやり遂げたいのであれば、もう少し機能を充実させる必要があります。

于 2012-10-25T16:06:12.640 に答える
0

非表示の入力などでラベルを送信する必要があります。

<form method="post" id="aodform">
<label for="a">Animal:</label>
<input type="hidden" name="a_label" value="Animal"/>
<input class="input" type="text" name="a"/>
<label for="s">Sausage:</label>
<input type="hidden" name="s_label" value="sausage"/>
<input class="input" type="text" name="s"/>
<label for="g">Bird:</label>
<input type="hidden" name="g_label" value="bird"/>
<input class="input" type="text" name="g"/>
<label for="d">Dessert:</label>
<input type="hidden" name="d_label" value="dessert"/>
<input class="input" type="text" name="d"/>
<input id="submitter" type="submit"/>
</form>

次に、PHP でペアにアクセスします。

$name = "a";  // "s", "g", "d"

$tag = $_POST[$name.'_label'];
$value = $_POST[$name];
$xml_element = "<$tag>$value</$tag>";

また

ラベルと同じ名前を使用してから、次を使用します。

foreach($_POST as $key => $value)    
{
    $xml_element = "<$key>$value</$key>";
    ...
}
于 2012-10-25T16:10:44.787 に答える