Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有两个变量函数的Ajax提交表单_Javascript_Ajax - Fatal编程技术网

Javascript 具有两个变量函数的Ajax提交表单

Javascript 具有两个变量函数的Ajax提交表单,javascript,ajax,Javascript,Ajax,我不熟悉javascript和ajax,我想学习更多。让我的简单ajax脚本工作起来有点困难。脚本的目的是传递两个变量。一个变量称为文件的当前名称。第二个变量是文件的新名称。第二个变量是用文本框输入的 单击submit按钮时,将执行脚本。我知道这个函数很好,因为我可以硬编码并让它工作。我似乎遇到的问题是第二个变量没有正确传递 <?php $q="Test"; echo "<form name=\"Form-$q\" method=\"post\" >";

我不熟悉javascript和ajax,我想学习更多。让我的简单ajax脚本工作起来有点困难。脚本的目的是传递两个变量。一个变量称为文件的当前名称。第二个变量是文件的新名称。第二个变量是用文本框输入的

单击submit按钮时,将执行脚本。我知道这个函数很好,因为我可以硬编码并让它工作。我似乎遇到的问题是第二个变量没有正确传递

<?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>";
?>
很明显,我的代码没有正确读取表单输入。我只是不确定我错过了什么。

问题在于:

onclick='ChangeFileName(\"$q\",\"this.form.NewNameFor$q.value\");
您引用了“this.form.NewNameFor$q.value”。这意味着将传入该字符串

删除引号:

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

提示:使用
echo'
而不是
echo'
,这样您就不必转义HTML的
注意:如果您遵照@sp00m的建议并更改为单引号,则不能直接在字符串中使用变量。您必须将字符串拆分,如下所示:
echo'我以前曾想过使用单引号,但后来我发现很难跟踪布局。我宁愿逃避每一句话。啊,太好了!我应该在它返回整个短语时想到这一点。
onclick='ChangeFileName(\"$q\",this.form.NewNameFor$q.value);