提交后调用(触发)链接

时间:2011-09-27 20:23:14

标签: jquery html

如何在表单提交后调用(触发)链接?我希望函数调用一个链接,以便在按钮提交上传后自己调用新的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">&nbsp;Picture upload size 1 MB&nbsp;</span>
<input type="file" name="uploadPic" class="forms" id="picForm"/>
<input type="submit" name="submitPic"  value="Go" id="submitPic" onClick="infoUp();"/>
<!--<span class="style3">&nbsp;2 MB max&nbsp;</span>-->
<input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
</form> 

//jQuery:

function infoUp() { 
$(document).ready(function() { 
$("#profile").trigger('click');
});

3 个答案:

答案 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

})

这段代码都是未经测试的,但是应该对如何解决这个问题提供足够的见解