Greetings again,
We have an app that users can use to submit annual report.
So far, it works as long as users use their desktop computers.
Recently, we have been getting several complaints about user's inability to use their mobile devices to submit report using this app,
We are trying to figure out a way to make this website app responsive so users can submit the report with any device including mobile device.
I have looked at a couple of articles on this forum on how to make Gridview responsive. I have also looked at some articles from various online searches but I have only seen solutions that display reports, not one that allows you to submit data to the database such as the one I am posting below,
What makes this even more challenging is that the app uses 8 different gridview controls within the app.
My apologies in advance because this code is very long, not sure what to leave out. So, I left everything in as is.
Please let me know if it is possible to modidy the code to make it responsive,
Thank you very much in advance,
<%@ Page Title="Income Discosure Form" MaintainScrollPositionOnPostback="true" Language="VB" debug="true" AutoEventWireup="true" ValidateRequest="false" CodeFile="disclosures.aspx.vb" Inherits="disclosures" %>
<%--<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>--%>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Income Discosure Form</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge, IE=8, IE=9, IE=10, IE11,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="Content/bootstrap.cosmo.min.css" rel="stylesheet" />
<script type="text/javascript" src="http://code.jquery.com/jquery-2.0.0b1.js"></script>
<link type="text/css" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
<link href="css/docs.min.css" rel="stylesheet" type="text/css"/>
<link rel="shortcut icon" href="~/images/favicon.ico" />
<link href="http://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet" />
<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/additional-methods.min.js"></script>
<script type="text/javascript" src="js/emailvalidate.js"></script>
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/jquery.ui.draggable.js" type="text/javascript"></script>
<script src="js/jquery.alerts.js" type="text/javascript"></script>
<link href="css/jquery.alerts.css" rel="stylesheet" type="text/css" media="screen" />
<link href="css/pglayouts.css" rel="stylesheet" type="text/css" media="screen" />
<style type="text/css">
.ethics-tooltip + .tooltip > .tooltip-inner {background-color:#8bdc24; text-align: left; color:#000000; font-weight: bolder; }
.bs-example{
margin-left: 50px;
margin-top: 30px;
}
img {
position: relative;
top: 0; bottom:0px; left: 50px; right:0;
margin: auto;
}
</style>
<%--Validate Email --%>
<script type="text/javascript" src="js/emailvalidate.js"></script>
<script type="text/javascript" src="js/chkAmt.js"></script>
<script type="text/javascript">
function pageLoad() {
$('[data-toggle="tooltip"]').tooltip();
$('[data-toggle="popover"]').popover();
}
</script>
<script type="text/javascript">
if (navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i)) {
var viewportmeta = document.querySelector('meta[name="viewport"]');
if (viewportmeta) {
viewportmeta.content = 'width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0';
document.body.addEventListener('gesturestart', function () {
viewportmeta.content = 'width=device-width, minimum-scale=0.25, maximum-scale=1.6';
}, false);
}
}
</script>
<script type="text/javascript">
$(function () {
//Attach click event to each button in gridview
$("#Gridview1").find("input[type='submit']").click(function (event) {
var isValid = true;
//Find the selected button tablerow(tr)
var tr = $(this).closest("tr");
if (tr.length > 0) {
var emptyrows = (tr.find('input[type="text"]').filter(function () { return $(this).val() !== ''; }).length === 0);
//check if txtspousename textbox is empty or not
if (emptyrows === false) {
//Loop through other textboxes and check if its empty or not
tr.find('input[type="text"]').each(function () {
if ($.trim($(this).val()) == '') {
isValid = false;
}
});
//If empty then display the message
if (isValid == false) {
alert("Please enter values on other textboxes as well");
event.preventDefault();
}
}
}
})
});
</script>
<script type="text/javascript">
$(document).ready(function () {
$('br').append('<span style="height:0.02em"></span>');
});
</script>
<style type="text/css">
.waitingdiv {
background-color: #F5F8FA;
border: 1px solid #5A768E;
color: #333333;
font-size: 93%;
margin-bottom: 1em;
margin-top: 0.2em;
padding: 8px 12px;
width: 8.4em;
}
</style>
<style type ="text/css">
.tbh {
display: block;
margin: 0 auto;
}
.popintip {
background-color: lightgrey;
width: 700px;
border: 5px solid teal;
padding: 3px;
margin: 3px;
}
</style>
<style type="text/css">
.list1 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-style: normal;
line-height: 2.0em;
font-weight: normal;
font-variant: normal;
text-transform: none;
text-decoration: none;
background-color: #ffffff;
text-indent: 5px;
list-style-position: outside;
list-style-image: url(images/bullet.png);
padding: 0px;
margin: 0px;
margin-left: 45px;
}
</style>
<script type="text/javascript">
function preventBack() { window.history.forward(); }
setTimeout("preventBack()", 0);
window.onunload = function () { null };
</script>
<script type="text/javascript">
var specialKeys = new Array();
specialKeys.push(8); //Backspace
$(function () {
$(".numeric").bind("keypress", function (e) {
var keyCode = e.which ? e.which : e.keyCode
var ret = ((keyCode >= 48 && keyCode <= 57) || specialKeys.indexOf(keyCode) != -1);
if (ret) {
$(this).next().remove();
} else {
if (!$(this).next().hasClass("error")) {
$(this).after("<span class = 'error' style='color:red'><br />* Only digits allowed. No characters, spaces or periods</span>");
}
}
return ret;
});
$(".numeric").bind("paste", function (e) {
return false;
});
$(".numeric").bind("drop", function (e) {
return false;
});
});
</script>
<%-- Do not allow empty spaces when entering badge number--%>
<script type="text/javascript">
$(document).ready(function () {
$("#txtEmpID").on("keyup", function (e) {
$(this).val($(this).val().toString().replace(" ", ""));
});
});
</script>
</head>
<body>
<form class="form a" id="survey_form" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
function BeginRequestHandler(sender, args) {
var state = document.getElementById('loadingdiv').style.display;
if (state == 'block') {
document.getElementById('loadingdiv').style.display = 'none';
} else {
document.getElementById('loadingdiv').style.display = 'block';
}
args.get_postBackElement().disabled = true;
}
</script>
<script type="text/javascript">
function nospaces(t) {
if (t.value.match(/\s/g)) {
t.value = t.value.replace(/\s/g, '');
}
}
</script>
<script type="text/javascript">
function blink_text() {
$('.blink').fadeOut(500);
$('.blink').fadeIn(500);
}
refreshIntervalId = setInterval(blink_text, 1500);
setTimeout(function () {
clearInterval(refreshIntervalId);
}, 10000)
</script>
<script type="text/javascript">
function BtnClick() {
var val = Page_ClientValidate();
if (!val) {
var i = 0;
for (; i < Page_Validators.length; i++) {
if (!Page_Validators[i].isvalid) {
$("#" + Page_Validators[i].controltovalidate)
.css("border-color", "red");
}
}
}
return val;
}
</script>
<style type="text/css">
.blink {
color: red;
font-size: 26px;
display: none;
}
</style>
<asp:Panel ID="GridPanels" runat="server">
<div class="bs-example">
<p><asp:Label id="lblResult" Visible="true" style="font-weight:bold;font-size:12px;" runat="server"></asp:Label></p>
<div style="margin-left:35px;margin-top:0px;">
<div class="bd-callout bd-callout-warning">
<p style="font-weight: bold; font-size: 1.0em;">
REPORT FOR THE YEAR ENDED DECEMBER 31, <asp:Label style="color:#000000;font-weight:600;font-size:large" ID="prevyr" Text="2023" runat="server"></asp:Label>
</p>
</div>
<br /><br />
<p class="popintip" style="font-weight:bold;">Please complete the following information by March 31, 2025.<br /><br /><span style="color:red">*</span>Either fill out all input boxes, or place a checkmark to the checkbox under each input box.<br />
</p>
<hr style="border-width:2px;background-color:#808080" />
<asp:UpdatePanel ID="PnlUsrDetails" runat="server">
<ContentTemplate>
<asp:MultiView ID="myMultiView" ActiveViewIndex="0" runat="server">
<asp:View ID="vwPersonalData" runat="server">
<!-- All user textboxes for input here -->
<span style="font-weight:bold;font-size:18px;color:#000000;">Name, title, and email address of employee filing this report</span><br /><br />
<div>
<div class="table-responsive">
<tablecccc>
<tr>
<td>
<div class="form-group">
<div class="bd-callout bd-callout-danger" style="width:70%;">
<span class="blink">Please read carefully!</span><span style="font-size: 26px;"> Enter your Employee ID (Badge ID) below to begin*. If you do not have an Employee ID, use the First Initial of first name + first initial of Last Name + date of birth in the format of MMDDYYYY. (For example, John Doe born January 1, 1900 will be, JD01011900)</span></div>
<asp:TextBox ID="txtEmpID" maxlength="10" placeholder="Enter Badge ID here..." Style="width: 150px;" class="form-control"
runat="server" AutoPostBack="true" OnTextChanged="txtEmpID_TextChanged"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" SetFocusOnError="true" runat="server" Style="color:red;font-size:medium;" ErrorMessage="RequiredFieldValidator"
ControlToValidate="txtEmpID">Badge number is mandatory </asp:RequiredFieldValidator> <br />
<asp:RegularExpressionValidator style="font-size:medium;" SetFocusOnError="true" ID="RegularExpressionValidator2" runat="server"
ControlToValidate="txtEmpID" ErrorMessage="A minimum of 5 digits is required" ForeColor="Red"
ValidationExpression="^.{5,11}$" EnableClientScript="true">A minimum of 5 digits is required</asp:RegularExpressionValidator>
<br />
</div>
</td>
<td>
<div class="bd-callout bd-callout-danger" id="dprocessed" style="width:90%;" runat="server" visible="false">
<div id="checkusername" runat="server" visible="false" style="white-space:nowrap">
<asp:Label ID="lblStatus" style="font-size:16px;font-weight:bold" runat="server"></asp:Label>
<asp:Image ID="imgstatus" runat="server" Width="17px" Height="17px" />
</div>
</div>
<div class="waitingdiv" id="loadingdiv" style="display:none;margin-left:5.3em">
<img src="images/ajax-loader.gif" alt="Loading" />Please wait...
</div>
</td>
</tr>
</tablecccc>
</div>
<div class="table-responsive">
<table class="table">
<tr>
<td>
<div class="form-group">
<label id="lblEname"><span style="font-weight:bold;font-size:16px;color:#000000;">Employee Name</span><span style="color:#ff0000">*</span></label>
<asp:TextBox ID="txteName" TabIndex="1" placeholder="Employee Name (e.g, Jane Doe)" style="width:205px;" class="form-control" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator id="RequiredFieldValidator2" Font-Bold="true"
SetFocusOnError="true" runat="server"
ErrorMessage="*" ControlToValidate="txteName" /><br />
</div>
</td>
<td>
<div class="form-group">
<label id="lblTitle"><span style="font-weight:bold;font-size:16px;color:#000000;">Your title</span><span style="color:#ff0000">*</span></label>
<asp:TextBox ID="txttitle" TabIndex="2" placeholder="Employee title..." style="width:195px;" class="form-control" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator id="RequiredFieldValidator3" Font-Bold="true"
SetFocusOnError="true" runat="server"
ErrorMessage="*" ControlToValidate="txttitle" />
</div>
</td>
<td>
<div class="form-group">
<label id="lblEmail"><span style="font-weight:bold;font-size:16px;color:#000000;">Your email address</span><span style="color:#ff0000">*</span></label>
<asp:TextBox ID="txtemail" TabIndex="3" placeholder="Employee email..." style="width:200px;" class="form-control" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtemail"
ForeColor="Red" ValidationExpression="^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"
Display = "Dynamic" ErrorMessage = "Invalid email address"/>
<asp:RequiredFieldValidator id="RequiredFieldValidator4" Font-Bold="true"
SetFocusOnError="true" runat="server"
ErrorMessage="*" ControlToValidate="txtemail" />
</div>
</td>
</tr>
</table>
</div>
<br /><br />
<div id="mainContainer" class="container">
<div class="shadowBox">
<div class="page-container">
<div class="container">
<div class="row">
<div class="col-lg-12 ">
<div class="table-responsive" data-pattern="priority-columns">
<span style="font-weight:bold;font-size:18px;color:#000000;">1. Name and address of sources of income for services of $1,000.00 or more of Reporter (excluding income received from this organization):</span><br /><br />
<table class="table">
<tr>
<td>
<asp:gridview ID="Gridview1" RowStyle-Wrap="false" gridlines="None" CssClass="responsiveTable1" runat="server" ShowFooter="true" AutoGenerateColumns="false" onrowdatabound="Gridview1_RowDataBound" OnRowDeleting="Gridview1_RowDeleting">
<Columns>
<asp:BoundField DataField="RowNumber" Visible="false" HeaderText="Row Number" />
<asp:TemplateField HeaderText="Name">
<headerstyle horizontalalign="Left" />
<ItemTemplate>
<asp:TextBox ID="txtsourcename" TabIndex="4" Text='<%# Eval("sourcename") %>' placeholder="Name...(e.g, ABC, Inc.)" runat="server" style="width:375px;" AutoPostBack="true" class="form-control textClass align-left" OnTextChanged="txtsourcename_TextChanged"></asp:TextBox><br />
<asp:CheckBox ID="grid1Details" ClientIDMode="Static" runat="server" Checked="false" AutoPostBack="true" OnCheckedChanged="Grid1CheckChanged" /><span style="color:#ff0000">*Check this box if N/A</span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Address">
<ItemStyle HorizontalAlign="Left"></ItemStyle>
<ItemTemplate>
<asp:TextBox ID="txtsourceaddress" TabIndex="5" Text='<%# Eval("sourceaddress") %>' placeholder="Address..." runat="server" style="width:375px;" class="form-control textClass align-left" AutoPostBack="true" OnTextChanged="txtsourcename_TextChanged"></asp:TextBox><br /><br />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Button ID="ButtonAdd" runat="server" OnClientClick="BtnClick();" CausesValidation="true" Text="Add another row if needed"
onclick="ButtonAdd_Click" CssClass="grvAddButton" /><br /><br /><br>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Button ID="sourceDelete" runat="server" Text="Delete" CommandName="Delete"
CssClass="grvDelButton" OnClientClick="return confirm('Are you sure you want to remove this row?')" /> <br /><br /><br />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:gridview>
</td>
</tr>
</table>
<span style="font-weight:bold;font-size:18px;color:#000000;">2. Name and address of sources of income for services of $1,000.00 more of Spouse:</span><br /><br />
<table class="table">
<tr>
<td>
<asp:gridview ID="grvspouse" RowStyle-Wrap="false" GridLines="None" CssClass="responsiveTable1" runat="server" ShowFooter="true" AutoGenerateColumns="false" onrowdatabound="grvspouse_RowDataBound" OnRowDeleting="grvspouse_RowDeleting">
<Columns>
<asp:BoundField DataField="SpouseNumber" Visible="false" HeaderText="Row Number" />
<asp:TemplateField HeaderText="Name">
<headerstyle horizontalalign="Left" />
<ItemTemplate>
<asp:TextBox ID="txtspousename" TabIndex="6" Text='<%# Eval("spousename") %>' placeholder="Name...(e.g, ABC, Inc.)" runat="server" style="width:375px;" class="form-control align-left" AutoPostBack="true" OnTextChanged="txtspousename_TextChanged"></asp:TextBox><br />
<asp:CheckBox ID="spouseDetails" ClientIDMode="Static" runat="server" Checked="false" AutoPostBack="true" OnCheckedChanged="SpouseCheckChanged" /><span style="color:#ff0000">*Check this box if N/A</span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Address">
<ItemStyle HorizontalAlign="Left"></ItemStyle>
<ItemTemplate>
<asp:TextBox ID="txtspouseaddress" TabIndex="7" Text='<%# Eval("spouseaddress") %>' placeholder="Address..." runat="server" style="width:375px;" class="form-control align-left" AutoPostBack="true" OnTextChanged="txtspousename_TextChanged"></asp:TextBox><br /><br />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Button ID="ButtonAdd2" runat="server" OnClientClick="BtnClick();" CausesValidation="true" Text="Add another row if needed"
onclick="ButtonAdd2_Click" CssClass="grvAddButton" /><br /><br /><br />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Button ID="spouseDelete" runat="server" Text="Delete" CommandName="Delete"
CssClass="grvDelButton" OnClientClick="return confirm('Are you sure you want to remove this row?')" /> <br /><br /><br />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:gridview>
</td>
</tr>
</table>
<span style="font-weight:bold;font-size:18px;color:#000000;">3. Name and address of sources of interest or dividends of $5,000 or more of Reporter and/or Spouse (excluding IRA and mutual fund investments): </span><br /><br />
<table class="table">
<tr>
<td>
<asp:gridview ID="grvDiv" RowStyle-Wrap="false" GridLines="None" CssClass="responsiveTable1" runat="server" ShowFooter="true" AutoGenerateColumns="false" OnRowDeleting="grvDiv_RowDeleting">
<Columns>
<asp:BoundField DataField="DivsNumber" Visible="false" HeaderText="Row Number" />
<asp:TemplateField HeaderText="Name">
<headerstyle horizontalalign="Left" />
<ItemTemplate>
<asp:TextBox ID="txtdividentname" TabIndex="8" Text='<%# Eval("dividentName") %>' placeholder="Name of income or dividend source..." runat="server" style="width:375px;" class="form-control align-left" AutoPostBack="true" OnTextChanged="txtdividentname_TextChanged"></asp:TextBox><br />
<asp:CheckBox ID="divDetails" runat="server" Checked="false" AutoPostBack="true" OnCheckedChanged="divCheckChanged" /><span style="color:#ff0000">*Check this box if N/A</span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Address">
<ItemStyle HorizontalAlign="Left"></ItemStyle>
<ItemTemplate>
<asp:TextBox ID="txtdividentaddress" TabIndex="9" Text='<%# Eval("dividentAddress") %>' placeholder="Address..." runat="server" style="width:375px;" class="form-control align-left" AutoPostBack="true" OnTextChanged="txtdividentname_TextChanged"></asp:TextBox><br /><br />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Button ID="ButtonAdd3" runat="server" OnClientClick="BtnClick();" CausesValidation="true" Text="Add another row if needed"
onclick="ButtonAdd3_Click" CssClass="grvAddButton" /><br /><br /><br />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Button ID="divDelete" runat="server" Text="Delete" CommandName="Delete"
CssClass="grvDelButton" OnClientClick="return confirm('Are you sure you want to remove this row?')" /> <br /><br /><br />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:gridview>
</td>
</tr>
</table>
<span style="font-weight:bold;font-size:18px;color:#000000;">4. Name and address of sources of reimbursement of expenses of $1,000 or more of Reporter and/or Spouse: (excluding reimbursements from this organization and by any insurance program offered by this organization):</span><br /><br />
<table class="table">
<tr>
<td>
<asp:gridview ID="grvReim" RowStyle-Wrap="false" GridLines="None" CssClass="responsiveTable1" runat="server" ShowFooter="true" AutoGenerateColumns="false" OnRowDeleting="grvReim_RowDeleting">
<Columns>
<asp:BoundField DataField="ReimNumber" Visible="false" HeaderText="Row Number" />
<asp:TemplateField HeaderText="Name">
<headerstyle horizontalalign="Left" />
<ItemTemplate>
<asp:TextBox ID="txtReimbursename" TabIndex="10" Text='<%# Eval("reimbursementName") %>' placeholder="Name of source of reimbursement..." runat="server" style="width:375px;" class="form-control align-left" AutoPostBack="true" OnTextChanged="txtReimbursename_TextChanged"></asp:TextBox><br />
<asp:CheckBox ID="reimDetails" runat="server" Checked="false" AutoPostBack="true" OnCheckedChanged="ReimCheckChanged" /><span style="color:#ff0000">*Check this box if N/A</span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Address">
<ItemStyle HorizontalAlign="Left"></ItemStyle>
<ItemTemplate>
<asp:TextBox ID="txtReimburseaddress" TabIndex="11" Text='<%# Eval("reimbursementAddress") %>' placeholder="Address..." runat="server" style="width:375px;" class="form-control align-left" AutoPostBack="true" OnTextChanged="txtReimbursename_TextChanged"></asp:TextBox><br /><br />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="ButtonAd4" runat="server" OnClientClick="BtnClick();" CausesValidation="true" Text="Add another row if needed"
onclick="ButtonAdd4_Click" CssClass="grvAddButton" /><br /><br /><br />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Button ID="reimnDelete" runat="server" Text="Delete" CommandName="Delete"
CssClass="grvDelButton" OnClientClick="return confirm('Are you sure you want to remove this row?')" /> <br /><br /><br />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:gridview>
</td>
</tr>
</table>
<span style="font-weight:bold;font-size:18px;color:#000000;">5. Name and address of sources of honoraria and/or reimbursement of expenses of $100 or more accepted by Reporter for speaking engagements, participation in seminars, discussion panels or other activities that directly relate to Reporter's official duties:</span>
<table class="table">
<tr>
<td>
<asp:gridview ID="grvHon" RowStyle-Wrap="false" GridLines="None" CssClass="responsiveTable1" runat="server" ShowFooter="true" AutoGenerateColumns="false" OnRowDeleting="grvHon_RowDeleting">
<Columns>
<asp:BoundField DataField="HonNumber" Visible="false" HeaderText="Row Number" />
<asp:TemplateField HeaderText="Honoraria">
<headerstyle horizontalAlign="Left" />
<ItemTemplate>
<asp:TextBox ID="txthonoraria" TabIndex="12" Text='<%# Eval("honoraria") %>' placeholder="Name of service from a single source..." runat="server" style="width:375px;" class="form-control txtgiftincome align-left" AutoPostBack="true" OnTextChanged="txthonoraria_TextChanged"></asp:TextBox><br />
<asp:CheckBox ID="honDetails" runat="server" Checked="false" AutoPostBack="true" OnCheckedChanged="HonCheckChanged" /><span style="color:#ff0000">*Check this box if N/A</span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Address">
<ItemStyle HorizontalAlign="Left"></ItemStyle>
<ItemTemplate>
<asp:TextBox ID="txthonaddress" TabIndex="13" Text='<%# Eval("HonorariaAddress") %>' placeholder="Address..." runat="server" style="width:375px;" class="form-control align-left" AutoPostBack="true" OnTextChanged="txthonoraria_TextChanged"></asp:TextBox><br /><br />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="ButtonAdd5" runat="server" OnClientClick="BtnClick();" CausesValidation="true" Text="Add another row if needed"
onclick="ButtonAdd5_Click" CssClass="grvAddButton" /><br /><br /><br />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Button ID="HonDelete" runat="server" Text="Delete" CommandName="Delete"
CssClass="grvDelButton" OnClientClick="return confirm('Are you sure you want to remove this row?')" /> <br /><br /><br />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:gridview>
</td>
</tr>
</table>
<span style="font-weight:bold;font-size:18px;color:#000000;">6. Name and address of the sources of any gift or gifts of more than $50 individually or $100 in aggregated monetary value that Reporter and/or Spouse received from a single source that is doing business with the organization, seeking to do business with the organization, or is requesting official action from the organization, or is regulated by, the organization:</span><br /><br />
<table class="table">
<tr>
<td>
<asp:gridview ID="grvGift" RowStyle-Wrap="false" GridLines="None" CssClass="responsiveTable1" runat="server" ShowFooter="true" AutoGenerateColumns="false" OnRowDeleting="grvGift_RowDeleting">
<Columns>
<asp:BoundField DataField="GiftNumber" Visible="false" HeaderText="Row Number" />
<asp:TemplateField HeaderText="Name">
<headerstyle horizontalalign="Left" />
<ItemTemplate>
<asp:TextBox ID="txtgiftname" TabIndex="14" Text='<%# Eval("giftName") %>' placeholder="Name of source of any gift..." runat="server" style="width:375px;" class="form-control align-left" AutoPostBack="true" OnTextChanged="txtgiftname_TextChanged"></asp:TextBox><br />
<asp:CheckBox ID="giftDetails" runat="server" Checked="false" AutoPostBack="true" OnCheckedChanged="GiftCheckChanged" /><span style="color:#ff0000">*Check this box if N/A</span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Address">
<ItemStyle HorizontalAlign="Left"></ItemStyle>
<ItemTemplate>
<asp:TextBox ID="txtgiftaddress" TabIndex="15" Text='<%# Eval("giftAddress") %>' placeholder="Address..." runat="server" style="width:375px;" class="form-control align-left" AutoPostBack="true" OnTextChanged="txtgiftname_TextChanged"></asp:TextBox><br /><br />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="ButtonAdd6" runat="server" OnClientClick="BtnClick();" CausesValidation="true" Text="Add another row if needed"
onclick="ButtonAdd6_Click" CssClass="grvAddButton" /><br /><br /><br />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Button ID="giftDelete" runat="server" Text="Delete" CommandName="Delete"
CssClass="grvDelButton" OnClientClick="return confirm('Are you sure you want to remove this row?')" /> <br /><br /><br />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:gridview>
</td>
</tr>
</table>
<span style="font-weight:bold;font-size:18px;color:#000000;">7. Name and address of any organization in which the Reporter and/or Spouse is an officer, director, partner, proprietor, or employee or serves in any advisory or contractual capacity from which income of $1,000.00 or more was derived:</span><br /><br />
<table class="table">
<tr>
<td>
<asp:gridview ID="grvOrg" RowStyle-Wrap="false" GridLines="None" CssClass="responsiveTable1" runat="server" ShowFooter="true" AutoGenerateColumns="false" OnRowDeleting="grvOrg_RowDeleting">
<Columns>
<asp:BoundField DataField="OrgNumber" Visible="false" HeaderText="Row Number" />
<asp:TemplateField HeaderText="Name">
<headerstyle horizontalalign="Left" />
<ItemTemplate>
<asp:TextBox ID="txtorgname" TabIndex="16" Text='<%# Eval("orgName") %>' placeholder="Name of organization..." runat="server" style="width:375px;" class="form-control align-left" AutoPostBack="true" OnTextChanged="txtorgname_TextChanged"></asp:TextBox><br />
<asp:CheckBox ID="orgDetails" runat="server" Checked="false" AutoPostBack="true" OnCheckedChanged="OrgCheckChanged" /><span style="color:#ff0000">*Check this box if N/A</span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Address">
<ItemStyle HorizontalAlign="Left"></ItemStyle>
<ItemTemplate>
<asp:TextBox ID="txtorgaddress" TabIndex="17" Text='<%# Eval("orgAddress") %>' placeholder="Address..." runat="server" style="width:375px;" class="form-control align-left" AutoPostBack="true" OnTextChanged="txtorgname_TextChanged"></asp:TextBox><br /><br />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="ButtonAdd7" runat="server" OnClientClick="BtnClick();" CausesValidation="true" Text="Add another row if needed"
onclick="ButtonAdd7_Click" CssClass="grvAddButton" /><br /><br /><br />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Button ID="orgDelete" runat="server" Text="Delete" CommandName="Delete"
CssClass="grvDelButton" OnClientClick="return confirm('Are you sure you want to remove this row?')" /> <br /><br /><br />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:gridview>
</td>
</tr>
</table>
<span style="font-weight:bold;font-size:18px;color:#000000;">8. Name and address of each creditor to whom the Reporter and Spouse was indebted for a period of 90 consecutive days or more in an amount of $7,500.00 or more, except for retail installment debt, any debt secured by real property or vehicles, credit card debt, medical expense debt, student loan debt, debt for child support or alimony, or tax debt:</span><br /><br />
<table class="table">
<tr>
<td>
<asp:gridview ID="grvCred" RowStyle-Wrap="false" GridLines="None" CssClass="responsiveTable1" runat="server" ShowFooter="true" AutoGenerateColumns="false" OnRowDeleting="grvCred_RowDeleting">
<Columns>
<asp:BoundField DataField="CreditNumber" Visible="false" HeaderText="Row Number" />
<asp:TemplateField HeaderText="Name">
<headerstyle horizontalalign="Left" />
<ItemTemplate>
<asp:TextBox ID="txtcreditorname" TabIndex="18" Text='<%# Eval("creditorname") %>' placeholder="Name of creditor..." runat="server" style="width:375px;" class="form-control align-left" AutoPostBack="true" OnTextChanged="txtcreditorname_TextChanged"></asp:TextBox><br />
<asp:CheckBox ID="credDetails" runat="server" Checked="false" AutoPostBack="true" OnCheckedChanged="CredCheckChanged" /><span style="color:#ff0000">*Check this box if N/A</span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Address">
<ItemStyle HorizontalAlign="Left"></ItemStyle>
<ItemTemplate>
<asp:TextBox ID="txtcreditoraddress" TabIndex="19" Text='<%# Eval("creditoraddress") %>' placeholder="Address..." runat="server" style="width:375px;" class="form-control align-left" AutoPostBack="true" OnTextChanged="txtcreditorname_TextChanged"></asp:TextBox><br /><br />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="ButtonAdd8" runat="server" OnClientClick="BtnClick();" CausesValidation="true" Text="Add another row if needed"
onclick="ButtonAdd8_Click" CssClass="grvAddButton" /><br /><br /><br />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Button ID="credDelete" runat="server" Text="Delete" CommandName="Delete"
CssClass="grvDelButton" OnClientClick="return confirm('Are you sure you want to remove this row?')" /> <br /><br /><br />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:gridview>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</asp:View>
<asp:View ID="vwPreview" runat="server">
<style type="text/css">
.modal {
position:relative;
top:-1em;
z-index:100;
}
.loading{
font-family: Arial;
font-size: 10pt;
border: 5px solid #0093B2;
width: 200px;
height: 100px;
display: none;
position: fixed;
margin-top:400px;
margin-left:300px;
background-color: White;
z-index: 999;
}
</style>
<script type="text/javascript">
$(function () {
$('#btnSave').click(function (e) {
if ($('#<%=chkTerms.ClientID%>').prop('checked')) {
$(".loading").addClass('modal');
$(".loading").show();
}
else {
$('#TermsRequired').show();
$('#boxchk').hide();
e.preventDefault();
}
});
$('#chkTerms').click(function () {
if ($(this).prop('checked')) {
$('#TermsRequired').hide();
}
});
});
</script>
<br />
<div class="table-responsive">
<!-- Labels to preview input here -->
<span style="font-weight:bold;font-size:16pt;">Please verify your report before submitting:</span>
<br /> <br />
<%--BEGIN: This part is streamed into PDF and sent as attachment to email on the fly--%>
<div id = "EmailCopy">
<span style="font-weight:bold;font-size:18px;color:#000000;">Name, title, email address, and Badge ID of employee filing this report</span>
<table style="width:100%" class="table">
<tr>
<td style="margin-left:20px;"><span style="font-weight:bold;font-size:12px;">Employee Name:</span>
<asp:Label ID="lblEmpName" runat="server" /></td>
<td><span style="font-weight:bold;font-size:12px;">Title:</span>
<asp:Label ID="lblPreviewTitle" runat="server" /></td>
<td><span style="font-weight:bold;font-size:12px;">Email:</span>
<asp:Label ID="lblPreviewEmail" runat="server" /></td>
<td><span style="font-weight:bold;font-size:12px;">Badge ID:</span>
<asp:Label ID="lblPreviewEmpID" runat="server" /></td>
</tr>
</table>
<hr />
<span style="font-weight:bold;font-size:18px;color:#000000;">1. Name and address of sources of income for services of $1,000.00 or more of Reporter (excluding income received fromthis organization):</span>
<table style="width:100%" class="table">
<tr>
<td>
<asp:Label ID="lblPreviewSourceName" style="font-size:12px;text-align: left;" runat="server" /></td>
</tr>
</table><br />
<span style="font-weight:bold;font-size:18px;color:#000000;">2. Name and address of sources of income for services of $1,000.00 more of Spouse:</span>
<table style="width:100%" class="table">
<tr>
<td>
<asp:Label ID="lblPreviewSpouseName" style="font-size:12px;text-align: left;" runat="server" /></td>
</tr>
</table><br />
<span style="font-weight:bold;font-size:18px;color:#000000;">3. Name and address of sources of interest or dividends of $5,000 or more of Reporter and/or Spouse (excluding IRA and mutual fund investments):</span>
<table style="width:100%" class="table">
<tr>
<td>
<asp:Label ID="lblPreviewDividentName" style="font-size:12px;text-align: left;" runat="server" /></td>
</tr>
</table><br />
<span style="font-weight:bold;font-size:18px;color:#000000;">4. Name and address of sources of reimbursement of expenses of $1,000 or more of Reporter and/or Spouse: (excluding reimbursements fromthis organization and by any insurance program offered bythis organization):</span>
<table style="width:100%" class="table">
<tr>
<td>
<asp:Label ID="lblPreviewReimburseName" style="font-size:12px;text-align: left;" runat="server" /></td>
</tr>
</table><br />
<span style="font-weight:bold;font-size:18px;color:#000000;">5. Name and address of sources of Honoraria accepted by Reporter for speaking engagements, participation in seminars, discussion panels or other activities that directly relate to Reporter’s official duties in the aggregate amount of $100.00 or more in each instance:</span>
<table style="width:100%" class="table">
<tr>
<td>
<asp:Label ID="lblPreviewHonoraria" style="font-size:12px;text-align: left;" runat="server" /></td>
</tr>
</table><br />
<span style="font-weight:bold;font-size:18px;color:#000000;">6. Name and address of the sources of any gift or gifts of more than $50 individually or $100 in aggregated monetary value that Reporter and/or Spouse received from a single source that is doing business with the organization, seeking to do business with the organization, or is requesting official action from the organization, or is regulated by, the organization:</span>
<table style="width:100%" class="table">
<tr>
<td>
<asp:Label ID="lblPreviewGiftName" style="font-size:12px;text-align: left;" runat="server" /></td>
</tr>
</table><br />
<span style="font-weight:bold;font-size:18px;color:#000000;">7. Name and address of any organization in which the Reporter and/or Spouse is an officer, director, partner, proprietor, or employee or serves in any advisory or contractual capacity from which income of $1,000.00 or more was derived:</span>
<table style="width:100%">
<tr>
<td>
<asp:Label ID="lblPreviewOrgName" style="font-size:12px;text-align: left;" runat="server" /></td>
</tr>
</table><br />
<span style="font-weight:bold;font-size:18px;color:#000000;">8. Name and address of each creditor to whom the Reporter and Spouse was indebted for a period of 90 consecutive days or more in an amount of $7,500.00 or more, except for retail installment debt, any debt secured by real property or vehicles, credit card debt, medical expense debt, student loan debt, debt for child support or alimony, or tax debt:</span>
<table style="width:100%" class="table">
<tr>
<td>
<asp:Label ID="lblPreviewCreditorName" style="font-size:12px;text-align: left;" runat="server" /></td>
</tr>
</table>
</div>
<div>
<asp:CheckBox ID="chkTerms" runat="server" /> <asp:Label ID="boxchk" runat="server" style="color:#FF9900;font-weight:bold;" Text="<== Please Check box" />
<span id="TermsRequired" style="display: none; color: red;"><span style="color:red;">You must check the box to consent to statement below before you can submit your data</span></span>
</div>
Under penalty of perjury, I, <span style="text-decoration:underline;font-weight:bold;"><asp:Label ID="lblSign" runat="server" /></span>, certify that the information provided in this Financial Report, is complete, accurate and truthful, to the best of my knowledge. In signing the Financial Disclosure Report, I understand that the failure to provide complete, accurate, and truthful information may result in disciplinary action against me by department.<br />
<div class="loading tbh" style="display:none;">
Saving. Please wait.<br />
<br />
<img src="images/ajax-loader.gif" alt="" />
</div>
</asp:View>
</asp:MultiView>
</ContentTemplate>
</asp:UpdatePanel>
</div></div>
<br />
<div class="table-responsive">
<table style="width:200px;margin-left: 450px" border="0" class="table">
<tbody>
<tr>
<td><div id="lght" runat="server" class="btn btn-primary glyphicon glyphicon-arrow-left"><asp:Button ID="btnBack" BackColor="Transparent" CssClass="grvAddButton" runat="server" BorderWidth="0" Text="Go Back & Make Changes" OnClick="btnBack_Click" /></div></td>
<td><div id="rght" runat="server" class="btn btn-primary glyphicon glyphicon-arrow-right"><asp:Button ID="btnNext" TabIndex="20" BackColor="Transparent" CssClass="btnNext" runat="server" BorderWidth="0" OnClientClick="BtnClick();" CausesValidation="true" Text="Review Form" OnClick="btnNext_Click" /></div></td>
<td><div id="sve" runat="server" class="btn btn-primary glyphicon glyphicon-send"><asp:Button ID="btnSave" BackColor="Transparent" runat="server" BorderWidth="0" Text=" Submit " OnClick="btnSave_Click" /></div></td>
</tr>
</tbody></table>
</div>
</div>
<asp:HiddenField ID="hfcopydHtml" ClientIDMode="Static" ViewStateMode="Enabled" runat="server" />
<script src="js/core.js" type="text/javascript"></script>
</asp:Panel>
<script type="text/javascript">
$(function () {
$("[id*=btnSave]").click(function () {
$("[id*=hfcopydHtml]").val($("#EmailCopy").html());
});
});
</script>
</form>
</body>
</html>
I have commented out the code behind so this page runs and displays content as is.