脚本:
$('#txt').click(function(){
$('#formID').attr('action', 'https://www.google.se/');
});
这里的HTML:
<form method="post" name="myForm" action="http://www.youtube.com/" id="formID" >
<input type="button" id="txt" value="Submit" />
</form>
所以基本上我想要发生的是,当我按下提交按钮时,表单的操作将更改为谷歌和谷歌将打开。这根本不起作用,我不知道为什么。 :|
答案 0 :(得分:2)
实际上并不是这些表单的设计目的,因此您必须覆盖表单中提交按钮的正常行为。
一种方法是通过jQuery(假设txt
是提交按钮的 id ):
$('#txt').click(function(e) {
e.preventDefault(); //prevent form from attempting to submit
window.location.href = "http://google.com";
});
注意:已更新。在e.preventDefault()之后忘记函数()中的'e'和parens
答案 1 :(得分:2)
尝试:
$('#txt').click(function (e) {
e.preventDefault();
$('#formID').attr('action', 'https://www.google.se/').submit();
});
答案 2 :(得分:1)
这是对我有用的确切代码。将其复制/粘贴到新文档中并尝试一下。你可以看到我在哪里评论我自己的答案,试试j08691的答案(它也有效)。
告诉我们。
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#txt').click(function(e) {
e.preventDefault();
//window.location.href = "http://google.ca";
$('#test').attr('action', 'https://www.google.se/').submit();
});
}); //END $(document).ready()
</script>
</head>
<body>
<form id="test">
Fisrt: <input type="text" />
Last : <input type="text" />
<input id="txt" type="submit" value="Go" />
</form>
</body>
</html>
答案 3 :(得分:0)
问题是你的按钮不是一个提交按钮,所以即使现在你的代码也不会做任何事情,除非你有一些其他的JavaScript或jQuery你没有向我们展示或你遗漏了你的提交按钮? / p>
无论如何,这是新的jQuery:
$(function() { //Run on page load
$('#txt').click(function(e) {
e.preventDefault(); //Prevent default action from happening
$('#formID').attr('action', 'https://www.google.se/').submit(); //Change the form's action attribute
$('#formID').submit(); //Submit the form
});
});
这里的Html - 将type =“button”更改为type =“submit”并将method =“post”更改为method =“get”,因为谷歌不喜欢帖子:
<form method="get" name="myForm" action="http://www.youtube.com/" id="formID" >
<input type="submit" id="txt" value="Submit" />
</form>