0

私は JavaScript と ajax が初めてで、もう少し学びたいと思っていました。単純な ajax スクリプトを機能させるのに少し苦労しています。スクリプトの目的は、2 つの変数を渡すことです。1 つの変数は、ファイルの現在の名前として知られています。2 番目の変数は、ファイルの新しい名前です。2 番目の変数は、テキスト ボックスで入力されます。

送信ボタンをクリックすると、スクリプトが実行されます。ハードコーディングして機能させることができるので、関数が問題ないことはわかっています。私が直面しているように見える問題は、2 番目の変数が正しく渡されていないことです。

<?php
   $q="Test";
   echo "<form name=\"Form-$q\" method=\"post\" >";
     echo "New File Name: <input type=\"text\" name=\"NewNameFor$q\" /><br />";
     echo "<input type=\"submit\" id=\"ChangeNameButton$q\" value=\"Change\" onclick='ChangeFileName(\"$q\",\"this.form.NewNameFor$q.value\");return false;'>";
   echo "</form>";
?>

私のコードは以下を出力します:

mv /data/Test /data/this.form.NewNameForTest.value  

明らかに、私のコードはフォーム入力を正しく読み取っていません。何を見逃したのかわからないだけです。

4

1 に答える 1

1

問題はここにあります:

onclick='ChangeFileName(\"$q\",\"this.form.NewNameFor$q.value\");

「this.form.NewNameFor$q.value」を引用しました。つまり、この文字列が渡されます。

引用符を削除します。

onclick='ChangeFileName(\"$q\",this.form.NewNameFor$q.value);
于 2012-08-24T14:51:06.460 に答える