javascript:windows.location在第一次单击按钮时不工作

javascript:windows.location在第一次单击按钮时不工作,javascript,html,Javascript,Html,我编写了一个简单的HTML表单,其中有2个按钮和2个javascript代码。 这是我的密码: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script> function test(){ var addr=window.location.search; a

我编写了一个简单的HTML表单,其中有2个按钮和2个javascript代码。 这是我的密码:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script>
function test(){

var addr=window.location.search;
alert(addr);

}

function validate(){
    var newaddr=window.location.search;
    alert(newaddr);
}

</script>
</head>
<body>
<form action="">

<input type="submit" id="input2" name="buttonupdate" value="update" onclick="test();"/>
<input type="submit" id="input1" name="buttosearch" value="search" onclick="validate();"/>

</form>
</body>
</html>
如何达到预期效果:( 请导游:(

试试看

<input type="submit" id="input2" name="buttonupdate" value="update" onclick="test(); return false;"/>

最好将事件绑定到它,这样就可以将事件作为目标传递

在HTML中

<input type="submit" id="input2" name="buttonupdate" value="update" />
<input type="submit" id="input1" name="buttosearch" value="search" />

问题是变量搜索最初是空的,并且在您提交后更新它(这意味着在调用函数之后),您应该理解这一点!
但是作为一个解决方案,试试这个

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script>
function test(){

var addr=document.getElementById("input2").value;
addr+=" "+document.getElementById("input2").name;
alert(addr);

}

function validate(){
    var addr=document.getElementById("input1").value;
addr+=" "+document.getElementById("input1").name;
alert(addr);
}

</script>
</head>
<body>
<form action="">

<input type="submit" id="input2" name="buttonupdate" value="update" onclick="test();"/>
<input type="submit" id="input1" name="buttosearch" value="search" onclick="validate();"/>

</form>
</body>
</html>

功能测试(){
var addr=document.getElementById(“input2”).value;
addr+=“”+document.getElementById(“input2”).name;
警报(addr);
}
函数验证(){
var addr=document.getElementById(“input1”).value;
addr+=“”+document.getElementById(“input1”).name;
警报(addr);
}

如何使用
作为函数的参数:

<script>
function test(button){
    alert(button.name + " and " + button.value);
}

function validate(button){
   alert(button.name + " and " + button.value);
}
</script>
<input type="submit" id="input2" name="buttonupdate" value="update" onClick="test(this);"/>
<input type="submit" id="input1" name="buttosearch" value="search" onClick="validate(this);"/>

功能测试(按钮){
警报(button.name+”和“+button.value);
}
功能验证(按钮){
警报(button.name+”和“+button.value);
}

你到底想做什么?我想在特定的按钮点击时调用相应的函数,只想得到用户点击的按钮点击地址。因此,根据你下面的评论,你想得到当前的查询字符串,但也要重定向?没有意义!不,我不想重定向..基本上我对这些都是新手概念。我只想要按钮..没有链接:(没错,“this”是对象按钮,您可以使用为该对象定义的所有属性。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script>
function test(){

var addr=document.getElementById("input2").value;
addr+=" "+document.getElementById("input2").name;
alert(addr);

}

function validate(){
    var addr=document.getElementById("input1").value;
addr+=" "+document.getElementById("input1").name;
alert(addr);
}

</script>
</head>
<body>
<form action="">

<input type="submit" id="input2" name="buttonupdate" value="update" onclick="test();"/>
<input type="submit" id="input1" name="buttosearch" value="search" onclick="validate();"/>

</form>
</body>
</html>
<script>
function test(button){
    alert(button.name + " and " + button.value);
}

function validate(button){
   alert(button.name + " and " + button.value);
}
</script>
<input type="submit" id="input2" name="buttonupdate" value="update" onClick="test(this);"/>
<input type="submit" id="input1" name="buttosearch" value="search" onClick="validate(this);"/>