简单JS函数不起作用

时间:2016-02-14 作者:Uriahs Victor

我一直试图让一个简单的JS函数工作最长时间,但它就是不工作。控制台显示“测试不是功能。

echo \'<input type="hidden" value="\'.$return_survey_url.\'" id="return_url">\';
echo \'<form action="http://www.example.com/test.php" onsubmit="return test();" method="post" target="votar">\';
echo \'<textarea name="tweet" rows="8" cols="10" maxlength="130"></textarea>\';
echo \'<input type="submit" value="test"/>\';
echo \'<iframe name="votar" style="display:block; width: 500px; height: 500px;"></iframe>\';    
echo \'</form>\';
下面是我关闭PHP标记并编写的一个简单脚本:

 <script type="text/javascript">
      function test() {
        alert(\'thank you\');
         var return_url = document.getElementById(\'return_url\').value;
         window.location.href= return_url;

     }
  </script>
每当我单击submit按钮时,控制台就会显示它不是一个函数。我正在尝试在CPT模板中实现这一点,此代码只需要在特定模板上执行。此代码适用于:

https://jsfiddle.net/n7zd1hw8/

1 个回复
SO网友:Uriahs Victor

添加了表单submit botton的ID并删除了onSubmit事件:

echo \'<input type="hidden" value="\'.$return_survey_url.\'" id="return_url">\';
echo \'<form action="http://www.example.com/test.php" method="post" target="votar">\';
echo \'<textarea name="tweet" rows="8" cols="10" maxlength="130"></textarea>\';
echo \'<input type="submit" value="test" id="test"/>\';
echo \'<iframe name="votar" style="display:none;"></iframe>\';    
echo \'</form>\';
在noconflict模式下添加了JS,并在单击submit按钮时调用了函数:

  <script type="text/javascript">
  jQuery(function($) {
    // Code that uses jQuery\'s $ can follow here.
    $( "#test" ).click(function() {
      alert(\'some message\');
      var return_url = document.getElementById(\'return_url\').value;
      window.location.href= return_url;
    });

});
</script>