-2

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

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

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

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

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

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

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

4

2 回答 2

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

于 2013-09-12T11:43:33.437 回答
0

尝试这个。

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);
于 2013-09-12T11:43:52.873 回答