如何在表单提交后调用(触发)链接?我希望函数调用一个链接,以便在按钮提交上传后自己调用新的jQuery div。 infoUp()函数不起作用..
HTML:
<a href="#" id="profile">Profile</a>
<form name="updatePicForm" action="page1.php" method="post" enctype="multipart/form-data">
<span style="font-size:12px"> Picture upload size 1 MB </span>
<input type="file" name="uploadPic" class="forms" id="picForm"/>
<input type="submit" name="submitPic" value="Go" id="submitPic" onClick="infoUp();"/>
<!--<span class="style3"> 2 MB max </span>-->
<input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
</form>
//jQuery:
function infoUp() {
$(document).ready(function() {
$("#profile").trigger('click');
});
答案 0 :(得分:3)
如果您进行常规表单提交,则文档将替换为表单发布的结果,因此不会执行其他JavaScript。您需要做的是使用“AJAX”技术发送帖子请求而不替换当前页面。
这是一个非常大的重新设计,因为您需要更改您发布的URL的PHP处理程序,以便它只处理帖子并更改您的客户端代码,以便通过JavaScript而不是通过替换文档进行更新。
答案 1 :(得分:2)
您需要使用Ajax同时处理服务器(提交)和客户端(infoUp)操作。否则客户端操作将失效。
答案 2 :(得分:1)
你可以这样做:
// when the form is submitted
$('form').submit(function(){
// run your infoUp function
infoUp()
// sends the form info off
return true
})
但这不会有太大帮助,因为提交表单会将您发送到另一页。
你应该通过像这样的ajax提交表格:
// when the form is submitted
$('form').submit(function(){
// sends the form info off
// callback function executes after form data is sent
$.post('page1.php',$('form').serialize(),function(){
// run your infoUp function
infoUp()
})
// prevent form from submitting normal request
return false
})
这段代码都是未经测试的,但是应该对如何解决这个问题提供足够的见解