2016-05-04 13 views
0

Bitte helfen Sie mir,Formular php, html, js

I aa Feld "alias" Typ Radio "Ja" haben "nein ja" zeigen die Form das versteckte Feld "Familiennamen" „zuerst " wenn ich wählen Sie" Name "dieses Werk perfekt, die Datei php senden gut die Informationen, aber ich habe ein Ende für" add alias "und das Formular zeigen zwei andere Felder" Familienname "" Vorname "hinzugefügt, aber das Problem ist, dass die PHP-Datei nicht senden Sie die Informationen in den zusätzlichen Feldern.

<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> 

Code 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); 
    } 

-Code 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>"; 
    } 
    } 

Vielen Dank!

+1

Die ‚alias_lastname‘ und ‚alias_firstname‘ sollte Arrays (alias_lastname [], alias_firstname []) anders sein, wenn Sie das Formular nur die letzten Werte gesendet werden – jeff

+0

Hallo, könntest du mir bitte ein bisschen mehr erklären, wo genau soll ich das hinstellen ?, bin ich nicht so gut darin, ich folge einfach ein Beispiel der anderen Form ähnlich –

Antwort

2

Verwenden folgendes Szenario:

HTML:

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

Name Attribut [] Klammern enthält. Es bedeutet, dass Sie Werte in PHP als Array annehmen kann:

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

Hallo, könntest du mir ein bisschen erklären mehr bitte, genau wo soll ich das hinstellen ?, bin ich nicht so gut darin, ich folge einfach einem Beispiel der anderen Form ähnlich –

+0

Update-Eingabe Tag-Namen überall. in Ihrem html anstelle von 'alias_firstname' und in Ihrer js anstelle von' alias_firstname + cdr' setzen Sie 'alias_firstname []'. mach dasselbe für 'lastname'. in Ihrer PHP-Datei erhalten Werte wie folgt: '$ data_array [" alias_firstname "] [0]', '$ data_array [" alias_firstname "] [1]' ... Starten Sie das Debuggen und Sie erhalten den Punkt. – DDRamone

+0

@ AndrésPérez Kannst du diese Antwort lösen, wenn es hilft? – DDRamone