0

こんにちは、Jquery で追加された動的入力を取得しようとしていますが、コードを取得しようとすると機能しません

codeigniter のコードはすべての POST をキャッチしますが、jquery によって追加されたものは少なくなります

コードは次のとおりです。

<script type="text/javascript">
 $(document).ready(function(){
    var value = parseFloat($("#subtotal").val());
    $('.subtotal').html(value);
    $('#subtotal').val(value);
    $('input[name="phprop"]').change(function(event){
        if($('input[name="phprop"]:checked').val() == 'Yes'){
            $('#sections').show();
        }else if($('input[name="phprop"]:checked').val() == 'No'){ $('#sections').hide();}
        });
        $('input[name="xsst"]').change(function(event){
        if($('input[name="xsst"]:checked').val() == 'Yes'){
            $('#xtraphotos').show();
            $('<input type="text"  name="extraid'+i+'" id="extraid'+ i +'" style="width:80px;margin-left:4px;"/>').appendTo('#xtrabox');
            var num = value + 9.95;
            value = parseFloat(num.toFixed(2));
            $('.subtotal').html(value);
            $('#subtotal').val(value);
            $('#extrass').val(i);               i++;

        }else if($('input[name="xsst"]:checked').val() == 'No'){ 
            $('#xtraphotos').hide();
            $('#xtraphotos input[type="text"]').remove();
            var num = value - 9.95 * (i - 1);
            value = parseFloat(num.toFixed(2));
            $('.subtotal').html(value);
            $('#subtotal').val(value);
            $('#extrass').val(0);
            i = 1;
            }
        });
        var scntDiv = $('#xtrabox');
        var i = 1;

    $('#addScnt').live('click', function() {
            $('<input type="text"  name="extraid'+i+'" id="extraid'+ i +'" style="width:80px;margin-left:4px;"/>').appendTo(scntDiv);
            num = value + 9.95;
            value = parseFloat(num.toFixed(2));
            $('.subtotal').html(value);
            $('#subtotal').val(value);
            $('#extrass').val(i);
            i++;                
            return false;
      });       
 });
 </script>

ここにHTMLがあります

 <div style="margin-left: 50px;">
<label><b>Do you need more photos for your web?</b> </label>Yes<input type="radio"     name="xsst" id="xsst" value="Yes"/>No<input type="radio" name="xsst" id="xsst" value="No"/> (Each aditional photo has a cost of <b>$9.95</b>)
    <div id="xtraphotos" style="display:none;"><a href="#" id="addScnt">Add another picture box</a><div id="xtrabox"></div></div></div> 

Codeigniter コードは次のとおりです。

 if($_POST['extrass'] !=0){
        for($i=1;$i<=$_POST['extrass'];$i++){
            $names = "extraid".$i;
            $extras .= $_POST[$names];
            if($i!=$_POST['extrass']){
            $extras .= "-";
                }
        }

完全な HTML は次のとおりです (フォーム セクションのみ)。

  <?php echo form_open_multipart(base_url() . 'purchase/confirmation')?>
    <p style="float:left">Image ID of the Photos for your Website</p><div style="float:left;margin: 13px 0 0 110px;width: 450px;"><?php 
   if($idtype == 4){$x=3;}elseif($idtype == 1){$x=5;}elseif($idtype == 2){$x=10;}elseif($idtype == 3){$x=13;}
    for($i=1;$i<=$x;$i++){?><input type="text"  name="ssid[]" id="ssid_<?=$i?>" value="" style="width:80px; margin-left:4px;"/><?php }?></div>
 </div>
  <div style="margin-left: 50px;">
  <label><b>Do you need more photos for your web?</b> </label>Yes<input type="radio"  name="xsst" id="xsst" value="Yes"/>No<input type="radio" name="xsst" id="xsst" value="No"/> (Each aditional photo has a cost of <b>$9.95</b>)
  <div id="xtraphotos" style="display:none;"><a href="#" id="addScnt">Add another picture box</a><div id="xtrabox"></div></div></div>


  <br />
    <div id="choose_your_template" style="background-image:url(<?=base_url()?>images/step_4.png)"><div style="padding-left:5px; float:left">
<span style=" position: relative; top: 14px; left: 210px; font-size: 18px; color: gray; ">Step 4: Do you have Photos? Upload the pictures for your website.</span></div>

    </div>
     <div style="margin-left: 50px;">
     <label>Do you have photos of your property? </label>Yes<input type="radio" name="phprop" id="phprop" value="Yes"/>No<input type="radio" name="phprop" id="phprop" value="No"/><br />
   <div id="sections" style="display:none;">
    <p>Upload the photos in the theme that they should be used. The photos should be in jpge.format. Otherwise the system will not accept. them.</p><br/>
   <?php 
    if($idtype == 4){$x=1;}elseif($idtype == 1){$x=3;}elseif($idtype == 2){$x=4;}elseif($idtype == 3){$x=5;}
   for($i=1;$i<=$x;$i++){?>
      <label>Section</label><select name="section[]" id="section"><option value="">Choose Section</option><option value="home">Home</option><option value="about-us">About Us</option><option value="contact-us">Contact Us</option></select><?php   for($j=1;$j<=4;$j++){?><input type="file"  name="userphoto<?=$i?><?=$j?>" /><?php }?><br />   <br />
  <?php }?>
     <p>I certify that the photos that i am uploading for the website development are of my entire property and that I have all the copyrights.</p></div>
   </div><br />


   <input type="hidden" id="domain" name="domain" value="<?=$domain?>" />
  <input type="hidden" id="payment_plan" name="payment_plan" value="<?=$poption?>" />
  <?php if($ownamedomain){?>
  <input type="hidden" name="ownamedomain" id="ownamedomain" value="<?=$ownamedomain?>" />
  <?php }?>
   <input type="hidden" name="idtype" id="idtype" value="<?=$idtype?>" />
  <input type="hidden" name="templateid" id="templateid" value="<?=$templateid?>" />
 <input type="hidden" name="extrass" id="extrass" value="0" />
 <input type="hidden" name="subtotal" id="subtotal" value="<?=$subtotal?>" />
 <div style="padding-left:45px; padding-top:15px;">
 <hr style=" width: 868px; margin: 0 0 16px; "/>
 <div align="center">
 <p>Subtotal: USD$<span class="subtotal"><?=$subtotal?></span> </p></div>
 </div>
 <div style="background:url(<?=base_url()?>images/bottombar.png) no-repeat;display: block;height: 16px;margin: 0 36px 10px;width: 902px;"></div>
 <input type="submit" name="continue" id="continue"/><input type="button" value="Back" onClick="history.back();" class="back">
  </div>
4

1 に答える 1

0

HTML にタグ形式がありますか?

フォーム要素をフォーム内に配置しない場合、オンロードすると、一部のブラウザーはフォームを追加してコード構文を修正します...しかし、DOMを使用してnes要素を追加すると、この要素はこのフォーム内に含まれない可能性があります...

于 2012-11-16T01:37:41.890 に答える