<?php
$sort=$_REQUEST['sortby'];
echo" $sort ";
?>
<html>
<head>
</head>
<body>
<form method="get" id="thisForm" >
<table border=1>
<tr>
<td>
<a href="" name="say" onclick="javascript: sorting(0)">Day </a>
</td>
<td>
<a href="" name="server" onclick="javascript: sorting(1)">Server </a>
</td>
<td>
<a href="" name="service" onclick="javascript: sorting(2)">Service </a>
</td>
<td>
<a href="" name="count" onclick="javascript: sorting(3)">Count </a>
</td>
</tr>
</table>
<input type="hidden" name="sortby" id="sortby"/>
</form>
</body>
<script type="text/javascript" >
var sortArray=new Array("say","server","service","count");
function sorting( cnt)
{
alert(sortArray[cnt]);
document.getElementById("sortby").value=sortArray[cnt];
}
基于Header点击我正在尝试构建一个排序查询但是在点击“a href”链接提交后我无法获取隐藏字段发布的数据?
我已更改“a href”以提交按钮,如果我们点击相同的“排序依据”链接,您如何停止提交的页面。
答案 0 :(得分:1)
默认情况下,锚标记(即A)不提交表单。您可以使用按钮或使用javascript提交表单。
您可以使用document.thisForm.submit()
答案 1 :(得分:1)
以下是您遗失的内容:
<a>
行为(例如,使用return false
)。 sorting
的更新版本:
var sortArray=new Array("say","server","service","count");
function sorting(cnt)
{
document.getElementById("sortby").value = sortArray[cnt];
document.getElementById("thisForm").submit();
return false;
}
您可以使用以下方式调用它:
<a href="" name="say" onclick="return sorting(0);">Day </a>
工作示例:http://jsbin.com/ukoton/3
另一种选择是使用流行的库jQuery,它可以大大简化你的代码:
$(function(){
$('#thisForm a').click(function(ev){
var sortValue = this.name;
// an alternative to this.name is to use a data-sortBy='day' attribute,
// and then $(this).data('sortBy')
$('#sortby').val(sortValue);
$('#thisForm').submit();
ev.preventDefault();
});
});
答案 2 :(得分:0)
答案 3 :(得分:0)
如果需要,只需使用“提交”按钮并将其设置为类似链接的样式。这里不需要使用Javascript。
使用实际链接而不是“提交”按钮会使表单无法使用javascript的用户。这可能包括使用辅助工具的人。除此之外,它会使您的页面更复杂(添加不合逻辑的HTML,并需要Javascript),因此维护起来更复杂。