【问题标题】:How to validate a form for following scenario? [closed]如何验证以下场景的表单? [关闭]
【发布时间】:2013-09-16 18:29:37
【问题描述】:

我对 Web 开发比较陌生。我正在为我的网站使用 HTML、jQuery 和 PHP。我想设计一个表单并通过以下方式对其进行验证:

  • 一个简单的网页,其中包含输入框 - 一行 2 个和 10 行。即键=值|一个“键”输入框和一个“值”输入框

  • 在此表单下方,应该有一个“提交”按钮

  • 提交按钮的动作应该是生成一个url,如www.abc.com/samplephp?key1=value1&key2=value2&……&key10=value10

  • Key=Value 只有在不为空时才应附加

  • 形成并提交 url 后,php 脚本应处理所有传入的 GET 参数并将它们保存在 DB 中的表中

谁能帮助我以这种方式创建表单并使用 jQuery 根据给定要求对其进行验证?我面临的主要问题是命名文本字段名称并在 jQuery 中访问它们。我完全搞砸了这项任务。请帮我满足以上四个条件。我会对自己做第五个要求。提前致谢。

【问题讨论】:

  • 感谢您帮助我编写 jQuery 代码。但是你能帮我按照要求设计表格吗?我不知道如何命名文本字段和创建表单。你能在这方面帮忙吗?再次感谢大家,等待您对表单 HTML 设计的回复。
  • 题外话“要求代码的问题必须表明对正在解决的问题有最低限度的了解。包括尝试的解决方案,为什么它们不起作用,以及预期的结果。另请参阅:Stack Overflow question checklist"

标签: php jquery html forms validation


【解决方案1】:

试试看,

PHP

<?php
   $querystring=explode('&',$_SERVER['QUERY_STRING']);
   $newData=array();
   foreach($querystring as $keyPair)
   {
       $kparr=explode('=',$keyPair);
       $key=trim($kparr[0]);
       $value=trim($kparr[1]);
       if($key and $value)
       {
          $newData[$key]=$value;
       }
   }
   print_r($newData);// your final array having valid key values
?>

HTML

<form action="#" method="GET" onsubmit="return false">
    <div>
        <input type="text" name="key[]" value="key1" />&nbsp;<input type="text" name="value[]" value="value1" />
    </div>
    <div>
        <input type="text" name="key[]" value="key2" />&nbsp;<input type="text" name="value[]" value="value2" />
    </div>
    <div>
        <input type="text" name="key[]" value="key3" />&nbsp;<input type="text" name="value[]" value="value2" />
    </div>
    <div>
        <input type="submit" id="btnSubmit" value="Save" />
    </div>
</form>

脚本

$(function(){
    $('#btnSubmit').on('click',function(){
        var qs=[];
        $('input[name="key[]"]').each(function(index){
            k=$(this).val();
            v=$('input[name="value[]"]:eq('+index+')').val();
            if(k && v){// only for non-empty key value pair
                qs.push(k+'='+v);
            }
        });
        alert(qs.join('&'));
        return false;
    });
});

小提琴 http://jsfiddle.net/PdkSd/1

【讨论】:

  • 真的应该检查客户端,否则你可能会得到一个无效的查询字符串。
  • 感谢您帮助我编写 jQuery 代码。但是你能帮我按照要求设计表格吗?我不知道如何命名文本字段和创建表单。你能在这方面帮忙吗?再次感谢大家,等待您对表单 HTML 设计的回复。
【解决方案2】:

试试这个。

var Keyvalues = ""; 

$("input[type=text]").each(function(){ if($.trim($(this).val()) != ""){
Keyvalues = Keyvalues + $(this).attr("id") + "=" + $(this).val() + "&";
}
 });
Keyvalues = Keyvalues.substring(0, Keyvalues.length - 1); 

alert(Keyvalues);

【讨论】:

  • 感谢您帮助我编写 jQuery 代码。但是你能帮我按照要求设计表格吗?我不知道如何命名文本字段并创建表单。你能在这方面帮忙吗?再次感谢大家,等待您对表单 HTML 设计的回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多