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