我在ASP / BootStrap环境中遇到我的回发javascript函数问题。我已经在stackoverflow上搜索了一个解决方案,但找不到解决我问题的任何方法。
我的问题如下:当我单击图片时,页面重新加载(似乎回发有效)位,它没有为该回发返回任何值。
在我的示例中,onclick="__EVENTSPARAM('events_insertmaintenance','10774');
应该执行特定的代码。
Sub insertmaintenance()
id = request("events_insertmaintenance")
blablabla
end sub
我的request("events_insertmaintenance")
返回空值,但是在我的示例中,它应该返回10774。
这里是代码。我删除了多余的blabla以使其简短,但是它将使您对我的页面代码结构有所了解。
<!DOCTYPE html>
<html dir="ltr" lang="en">
<head>
<meta charset="iso-8859-1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- Tell the browser to be responsive to screen width -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<!-- Favicon icon -->
<link rel="icon" type="image/png" sizes="16x16" href="bootstrap/assets/images/favicon.png">
<title>Cloud VGP</title>
<!-- Custom CSS -->
<link href="bootstrap/assets/extra-libs/c3/c3.min.css" rel="stylesheet">
<link href="bootstrap/assets/libs/chartist/dist/chartist.min.css" rel="stylesheet">
<link href="bootstrap/assets/extra-libs/jvector/jquery-jvectormap-2.0.2.css" rel="stylesheet" />
<!-- Custom CSS -->
<link href="bootstrap/dist/css/style.min.css" rel="stylesheet">
<link href="bootstrap/assets/extra-libs/datatables.net-bs4/css/dataTables.bootstrap4.css" rel="stylesheet">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
</style>
</head>
<body>
<form id="Form_ID" name="Form_ID" method="POST" action="Shopa_VGP_Customers_Init.asp?which=5685&idfield=contactid&table=customers&database=&xtab=2">
<img name="events_insertmaintenance" id="events_insertmaintenance" src="images/ConfigurationTools.png" **onclick="__EVENTSPARAM('events_insertmaintenance','10774');**">
<input type="hidden" id="IsPageLoaded" name="IsPageLoaded" value="1" />
<input type="hidden" id="Events_Name" name="Events_Name" value="" />
<input type="hidden" id="Param_Events" name="Param_Events" value="" />
<input type="hidden" name="which" value="5685" />
<input type="hidden" name="table" value="customers" />
<input type="hidden" id="frm_Inspections_xString" name="frm_Inspections_xString" value="0" />
<input type="hidden" id="frm_Invoices_xString" name="frm_Invoices_xString" value="0" />
</form>
<script src="bootstrap/assets/libs/jquery/dist/jquery.min.js"></script>
<!-- Bootstrap tether Core JavaScript -->
<script src="bootstrap/assets/libs/popper.js/dist/umd/popper.min.js"></script>
<script src="bootstrap/assets/libs/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- apps -->
<script src="bootstrap/dist/js/app-style-switcher.js"></script>
<script src="bootstrap/dist/js/feather.min.js"></script>
<!-- slimscrollbar scrollbar JavaScript -->
<script src="bootstrap/assets/libs/perfect-scrollbar/dist/perfect-scrollbar.jquery.min.js"></script>
<script src="bootstrap/assets/extra-libs/sparkline/sparkline.js"></script>
<!--Wave Effects -->
<!-- themejs -->
<!--Menu sidebar -->
<script src="bootstrap/dist/js/sidebarmenu.js"></script>
<!--Custom JavaScript -->
<script src="bootstrap/dist/js/custom.min.js"></script>
<!--Toasts -->
<script type="text/javascript">
$('.toast').toast('show');
</script>
<!--DataTables -->
<script src="bootstrap/assets/extra-libs/datatables.net/js/jquery.dataTables.min.js"></script>
<script src="bootstrap/dist/js/pages/datatable/datatable-basic.init.js"></script>
<script src="bootstrap/assets/extra-libs/prism/prism.js"></script>
<script language="javascript">
var theForm = document.forms['Form_ID'];
if (!theForm) {
theForm = document.Form_ID;
}
var __SETVALUE = function() {
for (var i = 0; i < (arguments.length); i = i + 2) {
$(arguments[i]).value = arguments[i + 1];
}
}
var __EVENTS = function(_events_name) {
$('Events_Name').value = _events_name;
theForm.submit();
}
var __EVENTSPARAM = function(_events_name, _events_param) {
$('Events_Name').value = _events_name;
$('Param_Events').value = _events_param;
theForm.submit();
}
var __CONFIRM = function(_text) {
return confirm(_text);
}
var __DOPOSTBACK = function() {
for (var i = 0; i < (arguments.length); i = i + 2) {
$(arguments[i]).value = arguments[i + 1];
}
theForm.submit();
}
if ($('div_id_inspections') != null) {
setTimeout("$('div_id_inspections').scrollTop=0", 0);
}
if ($('div_id_factures') != null) {
setTimeout("$('div_id_factures').scrollTop=0", 0);
}
</script>
<script>
datePickerController.createDatePicker({
formElements: {
"dp_datefacture": "%d/%m/%Y"
}
});
</script>
</body>
</html>
好吧,我找到了解决方案。我想这是因为我的客户脚本使用了var $,这可能与jquery使用的脚本冲突。
我在自定义脚本中将var $更改为var MyVal,效果很好