Php onclick函数仅在第一次之后加载

Php onclick函数仅在第一次之后加载,php,jquery,forms,Php,Jquery,Forms,我有一个带有单选按钮的html表单。每个按钮都有以下onclick命令 onclick='position(); this.form.submit();' position是在页面顶部通过php包含的js函数表中定义的函数 function position(){ var p = $(document).scrollTop(); var hidden = document.createElement("input"); h

我有一个带有单选按钮的html表单。每个按钮都有以下onclick命令

onclick='position(); this.form.submit();'
position是在页面顶部通过php包含的js函数表中定义的函数

function position(){
            var p = $(document).scrollTop();
            var hidden = document.createElement("input");
            hidden.type = "hidden";
            hidden.name = "scroll";
            hidden.value = p;
            var f = document.getElementById("quiz");
            f.appendChild(hidden);
            }
position函数将滚动位置传递到处理表单的页面,然后将用户返回到他们上次访问的页面部分

第一次加载页面时,不会写入position函数。(通过浏览器查看源代码)

表单提交后,函数显示一次,每次之后

onclick='position(); this.form.submit();' 
如果有任何影响,输入单选按钮是用php编写的

        echo "<div class='ans'><input type ='radio' onclick='position(); this.form.submit();' class='radio' name = 'question" . $num . "' value = 'A' checked> " . $row['op1'] . "</input></div>";
echo”“$行['op1']。"";
任何帮助都将不胜感激


谢谢

放弃
onlick='position();使用此.form.submit()”
并在页面加载时执行此操作:

$(function() {
  $('.ans .radio').click(function() {
    position();
    $(this).closest('form').submit();
  });
}); 

这应该行得通。您可能需要更具体地说明选择器,因为这将把单击事件绑定到带有cöass='ans'的div中class='radio'的所有单选按钮上。

我觉得这段代码不错。在其他地方寻找错误。这是if中的“回声”吗?或者,包括更多的代码,以便我们可以找到一些错误,请查看首先生成页面的内容,例如服务器端asp/php/python/blah/blah/blah/blah。我还有一点脚本:
$(document).ready(function(){$(this).scrollTop(.$scroll.)
和$scroll在第一次加载时没有定义(从url中提取)。定义scroll使其余部分正常工作,但不知道为什么。在手动连接变量时,为什么要对字符串使用双引号?它是“bla-bla$someVar-bla-bla-bla”或“bla-bla-bla”。$someVar.“bla-bla-bla”,但不是这个:O
$(function() {
  $('.ans .radio').click(function() {
    position();
    $(this).closest('form').submit();
  });
});