首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

ajax提交表单的有关问题(挺棘手的)

2012-12-14 
ajax提交表单的问题(挺棘手的)首先:1、页面有个表单:form idform1 actioninput.aspx methodpost

ajax提交表单的问题(挺棘手的)
首先:
     1、页面有个表单:
   <form id="form1" action="input.aspx" method="post" enctype="multipart/form-data">
    //里面有多个text,多个file文本框。
    //还有一个按钮
      <input type="submit" id="btnReg" value="注册" onclick="return checkAll()" />
  </form>

   2、还有个提交表单代码:标题一    
$("#tb input").live("change", function () { //动态绑定每个file
                var file = $(this);
                file.attr("name", "fileSrc");
                if (CheckFilePath($(this))) {
                    $('#form1').ajaxSubmit({
                        url: 'input.aspx?action=' + "up",
                        type: "get",
                        success: function (data, status) {
                            if (status == "success") {
                            if (data == "no") {
                            alert("不能上传大于1M的图片");
                            file.parent().html("<input type='file' name='file'/>");
                                    return;
                                }
                                msg(file, "ok");
                            }
                        }
                    });
                }
                else {
                    alert("请上传正确的图片");


                    file.parent().html("<input type='file' name='file'/>");
                }
            })

我的思路:
        标题一(红色字体标出)是用户上传图片的时候(表单里面有file)我先判断是否过大,所以我  (url: 'input.aspx?action=' + "up")用了个标记。在后台接收action参数。用来确定是判断。而不是最后提交,以达到我在提交前先判断图片是否过大的效果。

我是想法:
         当我这样提交的时候 $('#form1').ajaxSubmit 应该会覆盖(<form>)里面的url,type等属性。结果是正确的。同意。当我onclick="return checkAll()" 也应该覆盖 $('#form1').ajaxSubmit 里面的url、type的属性。但当我点击最后注册的时候。在后台还是能接收到action参数。

我需要解决的的问题:
                  当我 $('#form1').ajaxSubmit 的时候我传参过去。
                  当我点击 onclick="return checkAll()" 把之前的type或者url都覆盖。用form表单里面的方式进行。不知道这路能走通不。因为我不熟悉这些。望大家帮帮忙。。
[最优解释]
说到底 你这既是注册页面的及时验证被 用ASHX文件。这样你为每一个需要验证的控件指定一个AJAX方法到后台提交不就行了吗
[其他解释]

引用:
说到底 你这既是注册页面的及时验证被 用ASHX文件。这样你为每一个需要验证的控件指定一个AJAX方法到后台提交不就行了吗

什么意思哦。因为我是刚学。你能给我举例吗?谢谢。
[其他解释]
引用:
引用:说到底 你这既是注册页面的及时验证被 用ASHX文件。这样你为每一个需要验证的控件指定一个AJAX方法到后台提交不就行了吗
什么意思哦。因为我是刚学。你能给我举例吗?谢谢。


<table>
 <tr>
<td>用户名</td>
<td><input name="user" id="userName"  type="text"/></td>
 </tr>
 <tr>
<td>头像</td>
<td><input name="file" id="fileName"/></td>
 </tr>
</table>
<script>
     $("#userName").blur(function({
  $.ajax(function(){
参数.....
  })
 }))
 $("#fileName").change(function(
$.ajax(function({
参数...
}))
 ))
</script>

[其他解释]
引用:
引用:
引用:说到底 你这既是注册页面的及时验证被 用ASHX文件。这样你为每一个需要验证的控件指定一个AJAX方法到后台提交不就行了吗
什么意思哦。因为我是刚学。你能给我举例吗?谢谢。


XML/HTML code??



1234567891011121314151617181920212223……


请问一下:
        我后台是用这个来接收:
                          HttpPostedFile fil = Request.Files["fileSrc"];
                       int bytes = fil.ContentLength; //获取文件的字节大小  

这里面的 参数怎么写:
                    $("#fileName").change(function(     
                  $.ajax(function({    


                      参数...       
                     }))    
                 )) 
[其他解释]

引用:
引用:引用:
引用:说到底 你这既是注册页面的及时验证被 用ASHX文件。这样你为每一个需要验证的控件指定一个AJAX方法到后台提交不就行了吗
什么意思哦。因为我是刚学。你能给我举例吗?谢谢。


XML/HTML code??



123……

跟正常ajax提交一样的 $("fileName").val(); 
[其他解释]
[quote=引用:]
跟正常ajax提交一样的 $("fileName").val();  
         我是这样写的
               $.ajax({
                    type:"post",
                    url:"input.aspx",
                    data:"name="+""+$("#file").val() 
                    })
                  后台是这样写的
              string nam = Request["name"];  //这个能接收到
            HttpPostedFile op = Request.Files["name"];  //这个接收不到。如果这个接收不到。那就不能计算图片的大小呢。int byt = op.ContentLength; 
  我的目的是在用户选择图片的时候先在后台判断图片的大小。

热点排行