知识大全 改善Form提交数据的UI 交互设计

Posted

篇首语:花门楼前见秋草,岂能贫贱相看老。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 改善Form提交数据的UI 交互设计相关的知识,希望对你有一定的参考价值。

改善Form提交数据的UI 交互设计  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   数据一次校验    完整的数据校验需要前台页面(JS)和后台程序分别做校验 虽然有Commons validate 框架可以使用 但本质上还是分为这么 次校验 如果校验出错或者程序出错 都是后台采用redirect的方式返回到前台 虽然采用了struts之类框架的都是forward到前台 如果要是做复杂和耗时的校验(比如要进行数据库校验) 页面会长时间停留在后台页面 不是很友好和方便

   验证信息友好化 让验证码 躲 起来    为了防止机器提交 都会采用验证码机制 对于正常操作的用户 每次都要输入验证码 显然不够不友好的 如果提交的时候能够做判断 如果是正常提交就不需要验证码 如果是被认定为机器提交 诸如连续提交等行为 则提示需要输入验证码才能提交数据 这样显然就进了一步

   提交过程友好显示 拒绝滥用alert界面    通过为了简单 在返回任何数据的时候 都用alert提示给用户 alert最大的问题在于需要点击一下才能关闭 如果提交成功能自动关闭是不是比这种alert要好很多?

  采用AJAX +JSON 方式提交数据 与传统提交数据 的比较 

  

  /* 表单提交 update   */

  var ajaxSubmitFormData =

  form:false   //用来保存正在提交的表单

  debug:false

  callback:false

  dataType: json

  onSubmit:function(data)

  //正在提交数据提示

  

  onResponse:function(response)

  //当数据返回时触

  

  onResponse :function(data)

  alert( 恭喜你 数据提交成功 );

  window location reload(false);

  

  onResponse :function(data)

  //输入验证码界面

  var formId=ajaxSubmitFormData form;

  if (!$(formId) find( :input[name= verfiyCode ] ) length)

  $(formId) append( <input type= text name= verfiyCode size= /><img src= verifyCode jsp > );

  

  

  onResponse :function(data)

  var s= 提交错误:\\n ;

  //alert(data length);

  for(var i= ;i<data length;i++)

  s=s+data[i] id+ | +data[ssage+ \\n ;

  

  alert(s);

  

  onResponse :function(data)

  if (data length> )

  window location=data[ssage;

  else

  alert( 未定义跳转地址 );

  

  

  ;

  $(document) ready(function()

  $( form ajaxForm ) submit(function()

  //alert($(this) attr( id ));

  var formId=$(this) attr( id );

  submitAjaxFormNow( # +formId);

  return false; // < important!

  );

  $( ajaxSubmitButton ) click(function()

  var formId=$(this) attr( formId );

  //alert($(this) attr( formId ));

  submitAjaxFormNow( # +formId);

  );

  );

  function initSubmitAjax(formId returnFunc)

  var options=

  beforeSubmit:  function(formData jqForm options)

  if (ajaxSubmitFormData debug)

  var queryString = $ param(formData);

  alert( 正在提交的数据:\\n + queryString);

  

  if ($ isFunction(ajaxSubmitFormData onSubmit))

  ajaxSubmitFormData onSubmit(formData);

  

  return true;

  

  success:function (responseText statusText) 

  try

  if (ajaxSubmitFormData debug)

  alert( status: + statusText + \\nresponseText:\\n + responseText);

  

  if ($ isFunction(ajaxSubmitFormData onResponse))

  ajaxSubmitFormData onResponse(responseText);

  

  ajaxSubmitFormData form     =false;

  ajaxSubmitFormData callback =false;

  // TODO 改成触发事件方式

  responseText=responseText replace(/\\r\\n/g );

  //trim space

  responseText=responseText replace(/^\\s*|\\s*$/g );

  var response = eval(responseText)[ ]; //转换成json格式

  if (de == )

  if ($ isFunction(returnFunc))

  ajaxSubmitFormData callback=returnFunc;

  returnFunc(ssages);

  else

  if ($ isFunction(ajaxSubmitFormData onResponse ))

  ajaxSubmitFormData onResponse (ssages);

  

  

  //$(formId) triggerHandler( ajax_response_ ssages);

  

  if (de == )

  //保存当前

  ajaxSubmitFormData form       = formId;

  ajaxSubmitFormData callback   = returnFunc;

  if ($ isFunction(ajaxSubmitFormData onResponse ))

  ajaxSubmitFormData onResponse (ssages);

  

  //$(formId) triggerHandler( ajax_response_ ssages);

  

  if (de == )

  if ($ isFunction(ajaxSubmitFormData onResponse ))

  ajaxSubmitFormData onResponse (ssages);

  

  //$(formId) triggerHandler( ajax_response_ ssages);

  

  if (de == )

  if ($ isFunction(ajaxSubmitFormData onResponse ))

  ajaxSubmitFormData onResponse (ssages);

  

  //$(formId) triggerHandler( ajax_response_ ssages);

  

  catch(e)

  alert( 服务器返回的数据格式无效:\\n +responseText+ \\nError: +ssage);

  

  

  clearForm:true

  resetForm:true

  timeout:

  type: POST

  ;

  $(formId) ajaxError(function(event request settings)

  alert( 处理请求发生错误:\\n +settings url+ \\n请重新刷新页面或稍后再试 );

  $ unblockUI();

  );

  return options;

  

  function submitAjaxFormNow(formId returnFunc)

  if ($(formId))

  $(formId) ajaxSubmit(initSubmitAjax(formId returnFunc));

  

  function submitAjaxForm(formId returnFunc)

  if ($(formId))

  $(formId) ajaxSubmit(initSubmitAjax(formId returnFunc));

  

  预览

cha138/Article/program/Java/hx/201311/27021

相关参考

知识大全 解析php防止form重复提交的方法

本篇文章是对php防止form重复提交的方法进行了详细的分析介绍需要的朋友参考下   php防止表单重复提交实例复制代码代码如下:<?phpsession_start();$_SESS

知识大全 JSP、Struts避免Form重复提交的几种方案

JSP、Struts避免Form重复提交的几种方案  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 Web应用中避免Form重复提交的三种方案

Web应用中避免Form重复提交的三种方案  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!前两种是利

知识大全 struts2中一个form多个提交的方法

  在很多Web应用中为了完成不同的工作一个HTMLform标签中可能有两个或多个submit按钮如下面的代码所示  <![if!supportLineBreakNewLine]>  &l

知识大全 想找ui工作,你会写ui设计的简历吗

想找ui工作,你会写ui设计的简历吗没有经验想找UI设计的工作,只要你有创意很多公司还是录用你的,高学历UI设计就有许多都是靠创意进大公司的,何为UI,UI设计的工作流程UI就是userinterfa

知识大全 滁州哪里有UI设计培训丨好UI设计的六要素

滁州哪里有UI设计培训丨好UI设计的六要素  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!滁州哪里有

知识大全 2018年ui设计前景怎么样

2018年ui设计前景怎么样?想要学习ui设计哪个培训机构靠谱?未来发展是非常好的,工资高待遇好。还是尽量选择专业学校更靠谱2016年ui设计前景怎么样?想要学习ui设计哪里靠谱?现在UI设计的就业前

知识大全 学ui设计培训机构怎么样

学ui设计培训机构怎么样?要是大学没有学这个专业一般都会选择培训吧培训机构学也挺好的重要的是你自己要学好企业看的都是实力重庆ui设计培训机构有哪些?这些UI设计培训机构都怎么样?目前UI设计培训班很多

知识大全 ui设计培训机构有用吗哪个好

ui设计培训机构有用吗哪个好UI设计近几年还是蛮吃香的所以要抓紧时间在大多数设计领域,界面设计成功的要素就是有用户正在使用它。就像一把漂亮的椅子,虽然精美但坐着不舒服,那么用户不会使用它,它也就是失败

知识大全 android面试题 包括UI控件及数据存储内容

android面试题包括UI控件及数据存储内容  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!And