Почему моя форма не появляется, когда я нажимаю кнопку? - PullRequest
0 голосов
/ 05 декабря 2018

Это код, который я использую для своей кнопки.Появляется, и кнопка кликабельна.

foreach ($result as $pers) {
    echo ('<form>');
    echo ('<h3>Naam</h3>');'<br>';
    echo "<input type='submit' name='nameupdate' value='$pers->name' data-href='?persUp=".$pers->username."&persDa=".$pers->name."'>";
    echo ('</form>');
}   

Эта форма должна быть создана, когда я нажимаю на кнопку, но она не появляется.Также эхо-дабдаб не появляется.

if(isset($_POST['nameupdate']))
{
    echo('dabdab');
    if(isset($_GET['persDa']))
    {
        $did = $_GET['persDa'];
        echo "<input type='text' name='nmbox' value='$did'>";
        echo "<input type='submit' name='nmupdate' value='Update'>";
    }
}     

Что я делаю не так?Пожалуйста, дайте мне знать.

Javascript

$(document).ready(function() {
//Function for preview image.
$(function() {
    $(":file").change(function() {
        if (this.files && this.files[0]) {
            var reader = new FileReader();
            reader.onload = imageIsLoaded;
            reader.readAsDataURL(this.files[0]);
        }
    });
});
function imageIsLoaded(e) {
    $('#message').css("display", "none");
    $('#preview').css("display", "block");
    $('#previewimg').attr('src', e.target.result);
};


//Function for deleting preview image.
$("#deleteimg").click(function() {
    $('#preview').css("display", "none");
    $('#file').val("");
});

//Function for displaying details of uploaded image.
$("#submit").click(function() {
    $('#preview').css("display", "none");
    $('#message').css("display", "block");
});
});

и в голове:

    <link rel="stylesheet" href="themes/themerollertest.min.css" />
    <link rel="stylesheet" href="themes/jquery.mobile.icons.min.css" />
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile.structure-1.4.5.min.css" />
    <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Как я вижу, вы должны использовать ajax для отправки POST и GET один раз, для этого я бы рекомендовал вам отделить этот патт от нового файла

if(isset($_POST['nameupdate']))
{
    echo('dabdab');
    if(isset($_GET['persDa']))
    {
        $did = $_GET['persDa'];
        echo "<input type='text' name='nmbox' value='$did'>";
        echo "<input type='submit' name='nmupdate' value='Update'>";
    }
}

В главном файле спредставление, которое вы должны добавить как ajax

$("input[name='nameupdate']").on('click', function(e){
    e.preventDefault();
    var url = $(this).data('href'),
        nameupdate = $(this).val();
    $.ajax({
         type: "POST",
         url: url,
         data: {
             nameupdate: nameupdate,
         },
         success: function (response) {
            // here you should choose place where to put your result 
             $('#result').html(response)
         }
     });
});

Редактировать: или просто изменить свой код следующим образом

foreach ($result as $pers) {
    echo '<form action="?persUp='.$pers->username.'&persDa='.$pers->name.'" method="POST">';
    echo '<h3>Naam</h3><br>';
    echo "<input type='submit' name='nameupdate' value=".$pers->name." data-href=''>";
    echo '</form>';
}   
0 голосов
/ 05 декабря 2018

Может быть, слишком много () и неправильное использование PHP имеет место для этого?

Ваш код:

foreach ($result as $pers) {
    echo ('<form>');
    echo ('<h3>Naam</h3>');'<br>';
    echo "<input type='submit' name='nameupdate' value='$pers->name' data-href='?persUp=".$pers->username."&persDa=".$pers->name."'>";
    echo ('</form>');
} 

Должно быть:

foreach ($result as $pers) {
    echo '<form>';
    echo '<h3>Naam</h3><br>';
    echo '<input type="submit" name="nameupdate" value="'.$pers->name.'" data-href="?persUp='.$pers->username.'&persDa='.$pers->name.'">';
    echo '</form>';
} 

РЕДАКТИРОВАТЬ: Попробуйте это

Форма:

foreach ($result as $pers) {
    echo '<form action="" method="POST">';
    echo '<h3>Naam</h3><br>';
    echo '<input type="hidden" name="persUp" value="'.$pers->username.'">';
    echo '<input type="hidden" name="persDa" value="'.$pers->name.'">';

    echo '<input type="submit" name="nameupdate">';
    echo '</form>';
}

И ПОСТ:

if(isset($_POST['nameupdate']))
{
    echo('dabdab');
    if(isset($_POST['persDa']))
    {
        $did = $_POST['persDa'];
        echo "<input type='text' name='nmbox' value='".$did."'>";
        echo "<input type='submit' name='nmupdate' value='Update'>";
    }
} 
...