weixin_33699914 2015-11-09 11:06 采纳率: 0%
浏览 17

Ajax多次添加输入

I've successfully wrote a working Ajax code, but the problem is that i can add an input field only once. I have a submit input, that calls Ajax script, everything works, the input text field appears, but after this if i want to add another text field by clicking on the submit input, it does not work. You only load once (YOLO). How do i write more awesome code that lets me add as many text fields as needed? Thanks for every reply. Here is my code:

index.php:

<head>

<script>
function ajaxobj(){

if (window.XMLHttpRequest){
    xmlhttp = new XMLHttpRequest();
}else {
    xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}

xmlhttp.onreadystatechange = function(){
    if(xmlhttp.readyState == 4 && xmlhttp.status == 200)    {
        document.getElementById('asd').innerHTML = xmlhttp.responseText;
    }   
}

xmlhttp.open('GET', 'ajaxAddInput.php',true);
xmlhttp.send();
}
</script></script>
</head>
<body>
<input type="submit" onclick="ajaxobj();">
<div id="asd"></div>

</body>

the php file:

<?php
echo '<input type=\"text\">';
?>
  • 写回答

1条回答 默认 最新

  • weixin_33705053 2015-11-09 11:14
    关注

    Simply use a standardized library, just like jQuery. With this in mind, you might use the following code:

    $("#asd").on('change', function() {
        var val = $(this).val();
        $.ajax("ajaxAddInput.php", {input: val});
    });
    

    Alternatively, you can use the library with classes as well:

    $('input[type=text]').on('change', function() {
        var val = $(this).val();
        $.ajax("ajaxAddInput.php", {input: val});
    });
    
    评论

报告相同问题?