在JQuery变量中定义PHP POST时未定义的索引

时间:2017-03-30 10:31:05

标签: javascript php jquery html ajax

好的,所以当人们点击左侧的音符名称时,我正在使用Ajax在屏幕上显示一个音符,而音符将显示在右侧。

现在,当用户编辑该笔记时,他们应该能够单击一个按钮,并将新文本保存回最初加载笔记的ID。

基本上我可以在PHP中获取note标识但是如何将该ID传递给jquery然后使用。

我的剧本:

<?php include 'connectionDetails.php'; ?>

<?php

    if (isset($_POST['noteid'])) 
    {
        $showNoteInfo = "SELECT Note, NoteName FROM Notes WHERE NoteID = " . $_POST['noteid'];
        $stmt = sqlsrv_query($conn, $showNoteInfo);
    }

    if (isset($_POST['noteid'])) 
    {
        if (empty($_POST['noteid'])) 
        {
            $notes = 'No Data';
        }
        if (sqlsrv_has_rows($stmt)) 
        {
            $data = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC);

            echo "<div class='custom-font title-container'>
                    <div class='expand-button-container fa fa-expand' onclick='expandWindow()'></div>
                    <div id='title-container1'><div class='edit-note fa fa-pencil' onclick='editGeneralNote()'>&nbsp;&nbsp;&nbsp;</div>" . $data['NoteName'] . "&nbsp;<div class='save-note fa fa-thumbs-up' onclick='saveGeneralNote(); submitNoteText();'></div></div>
                  </div>";
            echo "<textarea spellcheck='false' readonly id='ta1'>" . $data['Note'] . "</textarea>";
        } 
        else 
        {
            echo "No data found";
        }
    }
?>

<script type="text/javascript">

    // Submit generalNote to the database

function submitNoteText()
{
    var noteid = <?php echo $_POST['noteid']; ?>;
    var notetext = $("#ta1").val();

    var dataString = 'noteid1=' + noteid + '&notetext1=' + notetext;

    console.log("NoteID: " + noteid);

    if(noteid == ''||notetext == '')
    {
        alert("NoteID or Text is blank");
    }
    else
    {
        $.ajax({
            type: "POST",
            url: "phpFiles_Notes/submitNoteText.php",
            data: dataString,
            cache: false,
            success: function(result){
                alert(result);
            }
        });
    }
    return false;
};

</script>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript" src="scripts/scripts.js"></script>

正如你所看到我试图将函数放在同一个php文件中所以我可以直接使用$ _POST ['noteid']来保存我想要的id。

那么为什么说在我的函数中,索引是未定义的,当它在id上有一个'isset'并且检索ID没有问题?

1 个答案:

答案 0 :(得分:1)

你可以这样使用......

var noteid = <?php if(isset$_POST['noteid']){ echo $_POST['noteid'];} ?>;