onclick函数仅在首先加载

时间:2013-04-13 22:14:25

标签: php jquery forms

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

onclick='position(); this.form.submit();'

position是一个函数,它在js函数表中定义,该函数表包含在页面顶部的php中。

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);
            }

位置功能将滚动位置传递到处理表单的页面,然后将用户返回到他们上次访问的页面部分。

页面第一次加载位置功能时没有写入。 (通过浏览器查看源代码)。

onclick='this.form.submit();'

表单在函数确实显示后提交,之后每次都提交。

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>";

任何帮助将不胜感激!

由于

1 个答案:

答案 0 :(得分:0)

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

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

那应该有用。您可能希望在选择器上更具体一些,因为这会将click事件绑定到div中所有带有class ='radio'的单选按钮,其中包含cöass='ans'