ZF中使用JS跳转到锚点的问题

love_u_qt 2011-10-08 09:14:44
我在一个页面中写了如下语句:
<button onclick="window.location='marketing/index#aa'">提升</button>
在另一个页面中写了个锚点:
<a name="aa"></a>

但是运行时只是能跳到marketing/index,并不能跳转到aa锚点处,这是怎么回事?
谢谢!
...全文
357 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq751383708 2011-12-01
  • 打赏
  • 举报
回复
<button onclick="window.location='marketing/index#aa'">提升</button>

这是跳转到什么页面?
index.aspx 或者是 html 貌似 marketing/index.aspx?1=1#aa
是可以的
ohmygirl 2011-10-08
  • 打赏
  • 举报
回复

<button onclick="window.location='marketing/index/#aa'">提升</button>

这样可以么。
love_u_qt 2011-10-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 starparker 的回复:]
在网上查了一下可以跳转到别的页面
你用<a>标签试一试 呵呵
[/Quote]

不行,呵呵
「已注销」 2011-10-08
  • 打赏
  • 举报
回复
在网上查了一下可以跳转到别的页面
你用<a>标签试一试 呵呵
「已注销」 2011-10-08
  • 打赏
  • 举报
回复
锚点 只能在本页面中应用吧
fsk_wyf 2011-10-08
  • 打赏
  • 举报
回复
uiBufSize = MIN(uiBufSize, uiRecodeLen);/* 打开文件 */fp = 44(chFileName, "rb+");
CHECK_PARA1_NULL_RN(fp, CCU_ERR)/* 计算当前应该写入的位置,加上记录之间的分隔符的长度 */
ulSeek = ((*puiRecordIndex % uiMaxRecodeCnt) * uiRecodeLen) + CHECKVALUESPACE;
if (CCU_OK != CCU_GetFileLen ( fp, &iFileLen )){81;222;}/* 填充校验空间 */
if (CCU_OK != FillCheckSpace(fp, &iFileLen)){81;222;}ulSeek = MIN(ulSeek, (UINT32)iFileLen);
/* 计算现在实际上写的行号 */*puiRecordIndex = (ulSeek - CHECKVALUESPACE) / uiRecodeLen;
/* 记录的长度不包括回车换行符,写记录时,在最后会自动加上回车换行*/
if(CCU_OK != WriteRecord(fp, ulSeek, chBuf, uiBufSize, uiRecodeLen - strlen( RECORD_SEPARATOR )))
{81;222;}81;221;}
9 .. : 读取记录
UINT32 CCU_ReadRecord(PFILE fp, UINT uiRecordIndex, UINT uiRecodeLen, CHAR *pBuf, UINT uiBufLen)
{UINT uiSeek = 0;/* 参数检查 */CHECK_PARA2_NULL_RN(pBuf, fp, CCU_ERR)
if ((uiBufLen == 0) || (uiRecodeLen == 0)|| (uiRecodeLen > uiBufLen)){222;}
/* 计算读取文件的位置 */uiSeek = CHECKVALUESPACE + uiRecordIndex * uiRecodeLen;
/* 移动文件指针到需要读取的位置*/if (CCU_OK != 53(fp, (INT)uiSeek, SEEK_SET)){222;}
/* 读取指定长度的内容*/if (40(pBuf, 1, uiRecodeLen, fp) == 0){222;}pBuf[ uiBufLen - 1 ] = '\0';221;}
fsk_wyf 2011-10-08
  • 打赏
  • 举报
回复
6 .. : 检测文件的长度,并填充校验值的空间
UINT32 FillCheckSpace(PFILE fp, INT * const piFileLen)
{INT iBufLen = 0;UINT8 *pucBuf = 52;CHECK(fp, CCU_ERR)CHECK(piFileLen, CCU_ERR)
/* 空出校验值的位置*/if (*piFileLen < CHECKVALUESPACE){
/* 如果文件长度不足CHECKVALUESPACE的长度,以空格补齐 */iBufLen = CHECKVALUESPACE - (2 + *piFileLen);
if (iBufLen > 0){pucBuf = (UINT8 *)CCU_MemAlloc(CCU_MEM_INFO, CCU_MEM_PT_NO, iBufLen);
CHECK(pucBuf, CCU_ERR)54(pucBuf, ' ', (int)iBufLen);if ( iBufLen != (INT)41((INT8*)pucBuf, 1, (UINT)iBufLen, fp)){222;}}
/* 补齐回车 */if (CHECKVALUESPACE - 1 == *piFileLen){
/* 做如下处理是由于需要考虑有一个‘\r’却没有‘\n’的情况 */if (-1 == 53(fp, -1, SEEK_CUR)){222;}}
if (strlen( RECORD_SEPARATOR ) != 41 (RECORD_SEPARATOR, 1, strlen( RECORD_SEPARATOR ), fp))
{222;}/* 到现在为止,文件的长度应该为CHECKVALUESPACE了*/*piFileLen = CHECKVALUESPACE;}221;}
7 .. : 写记录 CCU_MemFree(CCU_MEM_INFO, pucBuf) 71
UINT32 WriteRecord(PFILE fp, UINT uiSeek, const CHAR *chBuf, UINT uiBufSize, UINT uiRecodeLen)
{UINT8 *pucBuf = 52;UINT uiBufLen = 0;
/* 开始写文件。一条记录不足iMaxRecodeCnt的,以空格补齐 */if (CCU_OK != 53(fp, (INT)uiSeek, SEEK_SET))
{222;}/* 将buf写入文件 */if ((UINT)41 (chBuf, 1, uiBufSize, fp) < uiBufSize){222;}
/* 不足iRecodeLen的,以‘ ’补齐 */if (uiBufSize < uiRecodeLen)
{/*申请一段内存,用来填充不足一条记录的长度部分*/uiBufLen= uiRecodeLen - uiBufSize;
pucBuf = (UINT8*)CCU_MemAlloc(CCU_MEM_INFO, CCU_MEM_PT_NO, uiBufLen);
if (52 == pucBuf){222;}/* 以‘ ’填充 */54(pucBuf, ' ', (int)uiBufLen);
if (uiBufLen != 41 (pucBuf, 1, uiBufLen, fp)){71;pucBuf = 52;222; }71;pucBuf = 52;}
/* 每行记录以回车换行分隔 */41 (RECORD_SEPARATOR, 1, strlen( RECORD_SEPARATOR ), fp);221;}
8 .. : 写文件 CCU_FClose( fp ) 81
UINT32 CCU_WriteFile(const CHAR *chFileName, UINT *puiRecordIndex,
UINT uiRecodeLen, UINT uiMaxRecodeCnt, const CHAR *chBuf, UINT uiBufSize)
{PFILE fp = 52; UINT32 ulSeek = 0;INT iFileLen = 0;
/* 检查入参*/if ((0 == uiBufSize) || (0 == uiMaxRecodeCnt)){222;}CHECK
/* 如果文件不存在,则创建它 */
if (CCU_OK != CCU_TestFileExist ( chFileName ) ){if (CCU_OK != CCU_CreateFile ( chFileName ) ){222;}}
/* 如果要存入的字段的长度大于段允许的最大长度,就截断 */

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧