Javascript 带文件上传的过账表

Javascript 带文件上传的过账表,javascript,jquery,ajax,webforms,Javascript,Jquery,Ajax,Webforms,使用jquery时上传文件时遇到问题 我在表单中有以下HTML <fieldset> <ul> <li> <div class="field"><input size="35" type="file" name="formFile" id="formFile"/></div> </li> <li>

使用jquery时上传文件时遇到问题

我在表单中有以下HTML

<fieldset>
  <ul>
    <li> 
      <div class="field"><input size="35" type="file"
                             name="formFile" id="formFile"/></div> 
    </li>
    <li> 
      <div class="field"><input size="35" type="text" 
                             name="formFileName" id="formFileName" /></div>
    </li>
  </ul> 
</fieldset>

要发布数据,我使用的是
$('#myForm').ajaxForm(

当我发布数据并且收到的数据包含一些javascript时,javascript不会被识别

我希望javscriptcode在接收数据时运行,但它发生在较早的时候。结果表明找不到$或jquery

如果从input type=file元素中删除name属性,则不会出现错误,但这不是正确的解决方案


这是怎么发生的?

您肯定需要确保嵌入式JS是回调函数的一部分

$('#myForm').ajaxForm(function() { //Do your JS execution }); $('#myForm').ajaxForm(函数(){ //执行JS }); 我个人并不喜欢抽象的$.get()、$.post().$ajaxForm()等,因为它们删除了$.ajax()方法的许多功能

如果使用ajaxSubmit()方法很重要,它会接受任何其他$.ajax参数,因此您可能希望异步:false并设置成功/错误回调

// attach handler to form's submit event $('#myFormId').submit(function() { // submit the form $(this).ajaxSubmit({ success: function(result){ callbackFunction(result); } ,error: function(msg,XMLStatus,err){ errFunction(msg,XMLStatus,err); } }); // return false to prevent normal browser submit and page navigation return false; }); //将处理程序附加到表单的提交事件 $('#myFormId')。提交(函数(){ //提交表格 $(此).ajaxSubmit({ 成功:函数(结果){callbackFunction(结果);} ,error:function(msg,XMLStatus,err){errFunction(msg,XMLStatus,err);} }); //返回false以防止正常的浏览器提交和页面导航 返回false; });
希望这能解决一些问题。

请发布您使用的JavaScript代码。另外,还有一个提示:避免对这样简单的东西使用jQuery;它只会造成更多的混乱和问题。JavaScript代码最重要的部分是:jQuery(form).ajaxSubmit({target:'#grid.viewport_panel_body'}});在这种情况下,我无法避免使用jquery。