Reputation: 3
Am running into a problem with my postback javascript function in ASP / BootStrap environment. I have searched stackoverflow for a solution, I couldn't find any that resolved my problem.
My problem is the following: when I Onclick an image, the page reload (it appears that the post back works) bit it's not returning any value for that post back.
In my example, onclick="__EVENTSPARAM('events_insertmaintenance','10774');
should execute a specific code.
Sub insertmaintenance()
id = request("events_insertmaintenance")
blablabla
end sub
My request("events_insertmaintenance")
is returning null value, but in my example it should return 10774.
Here is the code. I removed extra blabla to make it short but it will gave you an idea about my page code structure.
<!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>
Upvotes: 0
Views: 117
Reputation: 3
well i found the solution. i guess it's because my customer script uses var $ which may be inconflict with the one that jquery uses.
i changed in my custom script the var $ to var MyVal and it works great
Upvotes: 0