[英]Why is AutoScroll redirecting to previous page
我刚创建的函数有问题。 我正在尝试自动滚动到表上的特定用户。 当我选择我的按钮时,它会滚动到用户,然后重新加载上一页。
您将转到xxx.com,然后选择一个进入xxx.com/results_page.php的菜单。 在这里,您将选择另一个链接,该链接将您带到xxx.com/results.php。 在这里,您将选择“自动滚动”按钮。 该按钮会将您带到页面上的正确位置,然后重新加载到xxx.com/results_page.php。
我从朋友那里复制了此脚本,所以我不太确定它的工作方式。 这是我的按钮,由于它已损坏,我目前将其禁用。
<tr>
<td colspan=2>
<button onclick="findUser()" title="Sorry, I'm still working on this." disabled>My Entry</button>
</td>
</tr>
这是页面顶部的功能。
<script type="text/javascript">
function findUser(){
$(window).scrollTop($("td:contains('<?php echo $_SESSION['loggedInUser']; ?>'):last").offset().top);
}
</script>
让我知道我还能提供什么帮助。 如果需要,我可以设置测试页。
测试页面Testing.daqspickem.com登录:访客通行证:访客
登录后,转到testing.daqspickem.com/results.php。 该按钮在该页面上。 结果页面 结果页面
此代码是我设置要查找的TD的地方。
switch ($user_names_display)
{
case 1:
echo ' <td>' . trim($tmpUser->firstname . ' ' . $tmpUser->lastname) . '</td>' . "\n";
break;
case 2:
echo ' <td><img src="images/logos/' . trim($tmpUser->template_name) . '.gif" style="opacity: .8; width: 40px; height: 40px; margin-left: 0px; z-index: -1;" />' . trim($tmpUser->userName) . '</td>' . "\n";
break;
default: //3
echo ' <td><img src="images/logos/' . trim($tmpUser->template_name) . '.svg" style="width="15px" height="15px" /><abbrev title="' . trim($tmpUser->userName) . ' ' . trim($tmpUser->firstname . ' ' . $tmpUser->lastname) . '">' . substr($tmpUser->userName, 0, 17) . '</abbrev>
</td>' . "\n";
break;
}
尝试这个:
function findUser(e){
e.preventDefault();
$(window).scrollTop($("td:contains('<?php echo $_SESSION['loggedInUser']; ?>'):last").offset().top);
}
之所以有效,是因为它阻止href
执行其默认功能。
我猜问题出在这个脚本上,
<script type="text/javascript">
function findUser(){
$(window).scrollTop($("td:contains('<?php echo $_SESSION['loggedInUser']; ?>'):last").offset().top);
}
</script>
在这里,您的$_SESSION['loggedInUser']
包含"Guest"
而您所指的td
具有内部HTML "guest"
所做的更改将解决此问题,但是您需要设计一个后备解决方案,以处理表中没有用户的情况。
我在按钮周围添加了一个表单,它似乎已解决了该问题。 我将对任何其他想法持开放态度,因为这似乎并不理想。 Chrome似乎是刷新的问题。
<form id="frmData" onsubmit="return false">
<tr><td colspan = 2 > <button onclick="findUser()" title="Sorry, I'm still working on this." >My Entry</button></td> </tr></table>
</form>
脚本
<script type="text/javascript">
function findUser()
{
$(window).scrollTop($("td:contains('<?php echo $_SESSION['loggedInUser']; ?>'):last").offset().top);
}
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.