出于某种原因,它并没有改变论坛的行动。我有一些代码可以在单击按钮时更改表单的操作:
function changeForm(event){
alert("Before: "+jQuery("#franchiseform").attr("action"));
jQuery("#franchiseform").attr("action", "franchisepreview.php");
alert("After: "+jQuery("#franchiseform").attr("action"));
jQuery("#franchiseform").submit();
}
绑定:
jQuery("input.preview").bind("click", changeForm);
表格:
<form method="post" enctype="multipart/form-data" action="franchiseinsert.php" class="insert-new" id="franchiseform">
按钮:
<input type="button" value="Preview" id="preview" name="preview" id="preview" class="preview" /><input type="submit" value="Insert" />
答案 0 :(得分:1)
首先,您需要清理
<input type="button" value="Preview" id="preview" name="preview" id="preview" class="preview" />
为:
<input type="button" value="Preview" id="preview" name="preview" />
作为输入不应该有多个id属性,你不应该使用具有相同名称的类和id。这可能是您遇到问题的原因之一。然后我使用了以下代码,动作网址实际上正在改变:
<html>
<head>
<title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#preview").bind("click", changeForm);
function changeForm(event){
alert("Before: "+ $("#franchiseform").attr("action"));
$("#franchiseform").attr("action", "franchisepreview.php");
alert("After: "+ $("#franchiseform").attr("action"));
$("#franchiseform").submit();
}
});
</script>
</head>
<body>
<form method="post" enctype="multipart/form-data" action="franchiseinsert.php" class="insert-new" id="franchiseform">
<input type="button" value="Preview" id="preview" name="preview" />
<input type="submit" value="Insert" />
</form>
</body>
</html>
答案 1 :(得分:0)
除非你剥离太多,否则你需要将“after”调用放入一个名为“changeForm”的函数中,这就是你对click事件的绑定。
否则,继续链接:
jQuery("input.preview").bind("click", function(){
jQuery("#franchiseform").attr("action", "franchisepreview.php"));
jQuery("#franchiseform").submit();
});
答案 2 :(得分:0)
事实证明这是Firefox / Mac特有的错误。它适用于其他平台和浏览器,但出于某种原因不适用于此特定计算机。它可能是一个扩展冲突或其他东西,我只会使用另一个浏览器。