javascript - 表单 php、html、js

标签 javascript php html forms

请帮助我,

我有一个字段“别名”类型单选"is"“否”,当我选择"is"时,表单显示隐藏字段“姓氏”“名字”这个工作完美,文件php发送良好的信息,但我添加了“添加别名”的底部,并且表单显示了其他两个字段“姓氏”“名字”,但问题是 php 文件不发送额外字段中的信息。

<span id="aliaser">
No<input type="radio" name="otheralias" value="0" checked  />&nbsp;&nbsp;Yes<input type="radio" name="otheralias" value="1"  />
</span>
<div id="morealias">
<br><div data-toggle="tooltip" title="">Family Name * <i class="fa fa-question-circle" aria-hidden="true"></i></div>
<input type="text" name="alias_lastname" id="aliaslastname" />
<br><div data-toggle="tooltip" title="">First (Given) Name * <i class="fa fa-question-circle" aria-hidden="true"></i></div>
<input type="text" name="alias_firstname" id="aliasfirstname" /><br>
<div id="aliasextra"></div>
<input type="hidden" name="aliasadded" id="aliasadded" value="0"/>
<br>
<div class="fullrow">
<div class="leftcol">
<span>
<a onclick="add_alias()" class="button medium dark">Add alias</a>&nbsp;&nbsp;
</span>
</div>
<div class="rightcol">
<span>
<a onclick="removealias()" class="button medium dark">Remove alias</a>
</span>
</div>
</div>
</div>

代码js

    //more aliases
        $("#aliaser input[type='radio']").click(function(){
            if($(this).attr("value")=="1"){
                $("#morealias").css("display","block");
                $("#aliaslastname").prop('required',true);
                $("#aliasfirstname").prop('required',true);
                //$("input").prop('required',true);
            }
            else {
                $("#aliaslastname").val("");
                $("#aliasfirstname").val("");
                 $("#aliaslastname").prop('required',false);
                $("#aliasfirstname").prop('required',false);
                $("#morealias").css("display","none");
            }
        });
    //

    //more alias
    function add_alias() {
    var crd=$("#aliasadded").val();
    var newblock='<div class="fullrow" id="alremove' +crd + '">';
    newblock +='<br><b>Other Alias:</b><br>';
    newblock +='Family Name:';
    newblock +='<input type="text" name="alias_lastname' +crd + '" id="aliaslastname' +crd + '" />';
    newblock +='First (Given) Name:';
    newblock +='<input type="text" name="alias_firstname' +crd + '" id="aliasfirstname' +crd + '" />';
    newblock +='</div>';


    $("#aliasextra").append(newblock);
    var whichlastname="#aliaslastname" + crd ;
    var whichfirstname="#aliasfirstname" + crd ;
    $(whichlastname).prop('required',true);
    $(whichfirstname).prop('required',true);
    crd++;
    $("#aliasadded").val(crd);
    }

    function removealias(){
    var crd=$("#aliasadded").val();
    crd --;
    var whichal="#alremove" +crd ;
    $(whichal).remove();
    $("#aliasadded").val(crd);
    }

PHP代码

    $texter .="Known by other aliases?:  " . $data_array["otheralias"] . "<br>";
    if($data_array["otheralias"]=="Yes") {
    $texter .="Alias last name:  " . $data_array["alias_lastname"] . "<br>";
    $texter .="Alias first name:  " . $data_array["alias_firstname"] . "<br>";
    }
    if($aliasadded >0) {
    for($i=0;$i<$aliasadded;$i++) {
    $b=$i+1;
    $texter .="<b>Extra alias No.  " . $b . ":</b><br>";
    $texter .="Alias last name:  " . $data_array["alias_lastname$i"] . "<br>";
    $texter .="Alias first name:  " . $data_array["alias_firstname$i"] . "<br>";
    }
    }

非常感谢!

最佳答案

使用以下场景:

HTML:

Alias 1 Firstname: <input type="text" name="firstname[]" />
Alias 2 Firstname <input type="text" name="firstname[]" />

name 属性包含 [ ] 括号。这意味着,您可以将 PHP 中的值作为数组:

$names = $_POST['firstname']
$alias1 = $names[0];
$alias2 = $names[1];

关于javascript - 表单 php、html、js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37022086/

相关文章:

javascript - 提交不是js中的函数

javascript - 在 HTML 中隐藏选定选项卡的底部边框

javascript - 在 Node.js 中使用 res.json 的 PhpStorm 未使用属性警告

javascript - 页面重定向后如何调用Chrome扩展功能?

php - 我怎样才能加快这个查询?

php - mysql查询帮助?

javascript - 在可编辑的 div 中使用表情符号

javascript - new Date() 会导致 Node.js 中的内存泄漏吗?

php - 使用 jQuery/javascript 代码时 PHP MVC 应该是什么样子?

php - 为什么修复 GD 的 png 透明度问题的解决方案不起作用?