在iframe中提交表单时滚动到IFrame的顶部

时间:2013-08-19 21:13:15

标签: javascript html

我有一个放在IFrame中的表单。我已经添加了javascript函数进行验证。单击“提交”按钮时,如果不填写必填字段,则会出现错误消息。

表单包含8个以上的字段。错误消息将显示在页面顶部。 因此,当单击提交按钮时,它将保持在页面底部。因此,错误消息不可见。

要在iframe中向上滚动,我已添加以下代码

parent.parent.window.scroll(0,0);

它将我带到iframe.But页面的顶部,跳过Javascript验证。它无需验证即可传递请求。

请帮我解决这个问题。

提前致谢

1 个答案:

答案 0 :(得分:0)

为错误的包装div设置一个id,然后使用JavaScript的window.location在内部移动到此id,之后 - 并且依赖于必需的字段验证代码(您可以将它放在条件语句中)。 关于如何使用它的一个例子:

<!DOCTYPE html>
  <html>
    <head>
      <script>
        function scroll(){
          window.location = '#error';
        }
      </script>
    </head>
    <body>
      <div id='error'>
        <p>Error: This is an error message.</p>
      </div>
      <iframe src="http://www.yahoo.com" width="400" height="800">
      </iframe>
      </br>
      <input type="button" onclick="scroll()" value="Scroll"></input>
    </body>
  </html>

你也可以使用jQuery顺利滚动它:

http://www.paulund.co.uk/smooth-scroll-to-internal-links-with-jquery