onClick for按钮不会转到JS函数

时间:2014-12-28 16:29:17

标签: javascript php html

我试图使用onClick指向JS函数,但似乎没有任何工作,我尝试过:

HTML:

<button type="button" id="deleteBtn" onClick="toDelete();">Delete Event</button>

JS:

document.getElementById("deleteBtn").onclick = function() {toDelete()}

JS:

document.getElementById("deleteBtn").addEventListener("click", toDelete);

这是我的功能:

function toDelete()
    {
        var answer = confirm("Are you sure you want to delete this event?\nPress OK to confirm deletion or CANCEL otherwise");
        if (answer)
        {
            alert("The event has been deleted!");
            <?php
            echo "<form id='deleteForm' name='deleteForm' method='post' action='redirected/deleteRecord.php'>";
                echo    "<input name='EVENT_ID' type='hidden' value='{$EVENT_ID}'>";
                echo    "<input name='eventName' type='hidden' value='{$eventName}'>";
                echo    "<input name='addressLine_1' type='hidden' value='{$addressLine_1}'>";
                echo    "<input name='addressLine_2' type='hidden' value='{$addressLine_2}'>";
                echo    "<input name='townCity' type='hidden' value='{$townCity}'>";
                echo    "<input name='postcode' type='hidden' value='{$postcode}'>";
                echo    "<input name='description' type='hidden' value='{$description}'>";
                echo    "<input name='cost' type='hidden' value='{$cost}'>";
                echo    "<input name='eventDate' type='hidden' value={$eventDate}'>";
            echo "</form>";
            ?>
            document.getElementById('deleteForm').submit();
        }
        else
            location.replace("events.php");
    }

2 个答案:

答案 0 :(得分:0)

我编写了一个带有一个隐藏输入字段的示例代码片段(您可以在那里添加您的PHP代码)。 当<form>元素移到<script>标记之外时,它可以正常工作。

function toDelete() {
	var answer = confirm("Are you sure you want to delete this event?\nPress OK to confirm deletion or CANCEL otherwise");
  
	if (answer) {
		alert("The event has been deleted!");
		document.getElementById('deleteForm').submit();
	}
	else
		location.replace("events.php");
}

function updateConfirm() {
		alert("Event has been updated!");
}
<button type="button" id="deleteBtn" onclick="javascript:toDelete();">Delete Event</button>

<form id='deleteForm' name='deleteForm' method='post' action='redirected/deleteRecord.php'>
  <input name='EVENT_ID' type='hidden' value='testid'>
</form>

答案 1 :(得分:0)

尝试使用setTimeout

document.getElementById("deleteBtn").onclick = function() {setTimeout(function(){toDelete()},500);}