gpt4 book ai didi

javascript - 不使用表单,不提交,但页面刷新 - 为什么?

转载 作者:行者123 更新时间:2023-11-28 10:45:53 25 4
gpt4 key购买 nike

下面的代码不使用表单,也不执行提交,但单击按钮后会重新加载页面。根据我读过的所有内容,不应重新加载。我不明白为什么。有人可以帮忙吗?

我还尝试向按钮添加事件功能(请参阅更新的源代码)并更新了下面的源代码。现在确实可以工作了

<SCRIPT>
$( document ).ready(function() {

$('input[type=button]').hover(function() {
$(this).toggleClass('ui-state-hover');
});

// get the php vars into local vars
var req_status = '<?=$req_status?>';
var member_id = '<?=$mbr_id?>';
var group_id = '<?=$grp_id?>';

if (req_status == 'member-is-grp-ldr') {
$("#ok").prop('value', 'Unsubscribe');
$('#ok').prop('disabled',true);
$('#ok').addClass('ui-state-disabled');
} else if (req_status == 'member-not-in-group') {
$("#ok").prop('value', 'Resubscribe');
$('#ok').prop('disabled',false);
} else if (req_status == 'member-removed') {
$("#ok").prop('value', 'Resubscribe');
$('#ok').prop('disabled',false);
$("#close").prop('value', 'Close');
} else {
$("#ok").prop('value', 'Unsubscribe');
$('#ok').prop("disabled",false);
}

$('#ok').on('click', function(e) {
e.preventDefault();
if ($('#ok').val() == "Unsubscribe") {
$.post('./ajax_group_unsubscribe.php', {function:'unsubscribe', member_id:member_id, group_id:group_id}, function(status) {
if (status = 'true') {
$("#ok").prop('value', 'Resubscribe');
$('#ok').prop('disabled',false);
$('#ok').removeClass('ui-state-disabled');
$("#close").prop('value', 'Close');
document.getElementById('remark').innerHTML = "You have been removed from the group:";
};
});
} else if ($('#ok').val() == "Resubscribe") {
$.post('./ajax_group_unsubscribe.php', {function:'subscribe', member_id:member_id, group_id:group_id }, function(status) {
if (status = 'true') {
$("#ok").prop('value', 'Unsubscribe');
$('#ok').prop('disabled',false);
$('#ok').removeClass('ui-state-disabled');
$("#close").prop('value', 'Close');
document.getElementById('remark').innerHTML = "You have been added to the group:";
};
});
}
});
});

</SCRIPT>
</HEAD>

<BODY>
<div id="page-wrap">
<div id="header_wrapper">
Group Unsubscribe Request
</div>
<div id="groups_bg">
<?php
if ($req_status == "member-in-group") {
echo "<p id='remark'>Confirm you no longer want to receive messages for the group:</p>";
echo "<p><em>" . $grp_name . "</em></p>";
} else if ($req_status == "member-not-in-group") {
echo "<p id='remark'>You are not currently in the group:</p>";
echo "<p><em>" . $grp_name . "</em></p>";
} else if ($req_status == "member-removed") {
echo "<p id='remark'>You will no longer receive messages for the group:</p>";
echo "<p><em>" . $grp_name . "</em></p>";
} else {
echo "<p id='remark'>You are the group leader and may not unsubscribe from the group:</p>";
echo "<p><em>" . $grp_name . "</em></p>";
}
?>
<br>
<div style="text-align:center;">
<input type="button" id="ok" name="ok" class='ui-button ui-widget ui-state-default ui-corner-all' value="Unsubscribe">
<input type="button" id="close" name="close" class='ui-button ui-widget ui-state-default ui-corner-all' value="Cancel" onclick="window.open('', '_self', ''); window.close();">
</div>
</div>
</div>
</BODY>
</HTML>

这是ajax代码:

/* get a database object */
$db = new DatabaseA();

/* get the member id and group id */
$function = $_POST['function'];
$member_id = $_POST['member_id'];
$group_id = $_POST['group_id'];

/* initialize the return status - booleans not returned */
$ret_status = 'false';

/* if the member id and group id were provided then */
if ( ! empty($member_id) && ! empty($group_id) ) {

/* get organization id for the group */
$group_info = get_group_info($db, $group_id, "org_id, group_name");
$org_id = $group_info['org_id'];
$grp_name = $group_info['group_name'];

/* get the group leader */
$grp_ldr_id = get_group_leader($db, $group_id);

/* if the member is not the group leader then */
if ($member_id <> $grp_ldr_id) {

/* if the member is unsubscribing then */
if ( $function = "Unsubscribe" && ! empty($org_id) ) {

/* delete the member from the group */
remove_member_from_group($db, $member_id, $group_id, $org_id);

/* notify the group leader */
send_member_email($db, $grp_ldr_id, "Group Member Update", "Member " . $mbrfirst_name . " " . $mbrlast_name . " has unsubscribed from your group: " . $grp_name);

/* indicate the member was unsubscribed */
$ret_status = 'true';

/* else if the member is resubscribing then */
} else if ($function = "Resubscribe" && ! empty($org_id) ) {

/* add the member to the group */
add_member_to_group($db, $member_id, $group_id, $org_id);

/* notify the group leader */
send_member_email($db, $grp_ldr_id, "Group Member Update", "Member " . $mbrfirst_name . " " . $mbrlast_name . " has resubscribed to your group: " . $grp_name);

/* indicate the member was subscribed */
$ret_status = 'true';
}
}
}

/* return to the caller */
return ($ret_status);

最佳答案

您在 else 语句中使用单个 =,并且在内部 if 语句中缺少右大括号。

$('#ok').on('click', function() { 
if ($('#ok').value == "Unsubscribe") {
$.post('./ajax_group_unsubscribe.php', {function:'unsubscribe', member_id:member_id, group_id:group_id}, function(status) {
if (status = 'true') {
$("#ok").prop('value', 'Resubscribe');
$('#ok').prop('disabled',false);
$('#ok').removeClass('ui-state-disabled');
$("#close").prop('value', 'Close');
document.getElementById('remark').innerHTML = "You have been removed from the group:";
}
});
} else if ($('#ok').value == "Resubscribe") {
$.post('./ajax_group_unsubscribe.php', {function:'subscribe', member_id:member_id, group_id:group_id }, function(status) {
if (status = 'true') {
$("#ok").prop('value', 'Unsubscribe');
$('#ok').prop('disabled',false);
$('#ok').removeClass('ui-state-disabled');
$("#close").prop('value', 'Close');
document.getElementById('remark').innerHTML = "You have been added to the group:";
}
});
}
});

关于javascript - 不使用表单,不提交,但页面刷新 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43158058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com