我不能爲我的生活找出這一個。我已經兩個JavaScript函數(jQuery的)連接到利用vb.net代碼的按鈕後面像這樣:奇怪的jQuery文本框問題
Button_NewProgram.Attributes.Add("OnClick", "return NewProgramEdits();")
Button_SaveSchedule.Attributes.Add("OnClick", "return ScheduleEdits()")
這兩個按鈕中的是與主網頁的內容網頁的一部分,沒有體或形式的標籤在內容中,只是一個沒有設置id的表。這兩個JavaScript功能幾乎是確切的,但出於某種原因執行非常不同。我知道他們因爲看到警報而開火,我使用IE v11。我沒有錯誤。該功能是:
我設置的的document.ready()中的所有文本框
$("#<%=Inputmask_RegFee1.ClientID%>").inputmask("999");
$("#<%=Inputmask_RegFee2.ClientID%>").inputmask("999");
$("#<%=Inputmask_RegFee3.ClientID%>").inputmask("999");
$("#<%=Inputmask_RegFee4.ClientID%>").inputmask("999");
$("#<%=Inputmask_RegFee5.ClientID%>").inputmask("999");
$("#<%=Inputmask_RegFee6.ClientID%>").inputmask("999");
$("#<%=Inputmask_RegFee7.ClientID%>").inputmask("999");
$("#<%=Inputmask_RegFee8.ClientID%>").inputmask("999");
$("#<%=Inputmask_RegFee9.ClientID%>").inputmask("999");
$("#<%=Inputmask_RegFee10.ClientID%>").inputmask("999");
$("#<%=Inputmask_Fee1.ClientID%>").inputmask("999");
$("#<%=Inputmask_Fee2.ClientID%>").inputmask("999");
$("#<%=Inputmask_Fee3.ClientID%>").inputmask("999");
$("#<%=Inputmask_Fee4.ClientID%>").inputmask("999");
$("#<%=Inputmask_Fee5.ClientID%>").inputmask("999");
$("#<%=Inputmask_Fee6.ClientID%>").inputmask("999");
$("#<%=Inputmask_Fee7.ClientID%>").inputmask("999");
$("#<%=Inputmask_Fee8.ClientID%>").inputmask("999");
$("#<%=Inputmask_Fee9.ClientID%>").inputmask("999");
$("#<%=Inputmask_Fee10.ClientID%>").inputmask("999");
' This one works, yet the alert shows nothing for the value of fee1
' and programname yet returns the correct response as all the fees
' are zero and the program IS set to a value ("test'). Strange.
function NewProgramEdits() {
var fee1 = $('#<%=Inputmask_Fee1.ClientID%>').val().replace(/_/g, "");
alert("New Program Fee 1 = ") + fee1;
var fee2 = $('#<%=Inputmask_Fee2.ClientID%>').val().replace(/_/g,"");
var fee3 = $('#<%=Inputmask_Fee3.ClientID%>').val().replace(/_/g,"");
var fee4 = $('#<%=Inputmask_Fee4.ClientID%>').val().replace(/_/g,"");
var fee5 = $('#<%=Inputmask_Fee5.ClientID%>').val().replace(/_/g,"");
var fee6 = $('#<%=Inputmask_Fee6.ClientID%>').val().replace(/_/g,"");
var fee7 = $('#<%=Inputmask_Fee7.ClientID%>').val().replace(/_/g,"");
var fee8 = $('#<%=Inputmask_Fee8.ClientID%>').val().replace(/_/g,"");
var fee9 = $('#<%=Inputmask_Fee9.ClientID%>').val().replace(/_/g,"");
var fee10 = $('#<%=Inputmask_Fee10.ClientID%>').val().replace(/_/g,"");
var newprogram = $('#<%=TextBox_NewProgram.ClientID%>').val().toUpperCase();
alert("Program Name = ") + newprogram;
if (newprogram == '') {
alert('Enter the program name.');
$('#<%=TextBox_NewProgram.ClientID%>').focus();
return false;
} else if (fee1 == '0' && fee2 == '0' && fee3 == '0' && fee4 == '0' && fee5 == '0' && fee6 == '0' && fee7 == '0' && fee8 == '0' && fee9 == '0' && fee10 == '0') {
alert('You must enter at least one fee value for a new program, they cannot all be zero.');
$('#<%=Inputmask_Fee1.ClientID%>').focus();
return false;
} else {
return true;
}
}
出於某種原因,這一個不工作的面具:
' The alerts show nothing or empty string even though
' the default values for the textboxes is ALWAYS zero,
' the replace code replaces the mask character with an empty string
' the actual value of ALL the textboxes is "0__" (two underscores)
function ScheduleEdits() {
var regfee1 = $('#<%=Inputmask_RegFee1.ClientID%>').val().replace(/_/g, "");
var regfee2 = $('#<%=Inputmask_RegFee2.ClientID%>').val().replace(/_/g, "");
var regfee3 = $('#<%=Inputmask_RegFee3.ClientID%>').val().replace(/_/g, "");
var regfee4 = $('#<%=Inputmask_RegFee4.ClientID%>').val().replace(/_/g, "");
var regfee5 = $('#<%=Inputmask_RegFee5.ClientID%>').val().replace(/_/g, "");
var regfee6 = $('#<%=Inputmask_RegFee6.ClientID%>').val().replace(/_/g, "");
var regfee7 = $('#<%=Inputmask_RegFee7.ClientID%>').val().replace(/_/g, "");
var regfee8 = $('#<%=Inputmask_RegFee8.ClientID%>').val().replace(/_/g, "");
var regfee9 = $('#<%=Inputmask_RegFee9.ClientID%>').val().replace(/_/g, "");
var regfee10 = $('#<%=Inputmask_RegFee10.ClientID%>').val().replace(/_/g, "");
var programtype = $('#<%=RadioButtonList_RegFeeMethod.ClientID%>').val().toUpperCase();
alert("Fee 1 = ") + regfee1;
alert("Program Type = ") + programtype;
if (programtype == 'SCHEDULE' && regfee1 == '0' && regfee2 == '0' && regfee3 == '0' && regfee4 == '0' && regfee5 == '0' && regfee6 == '0' && regfee7 == '0' && regfee8 == '0' && regfee9 == '0' && regfee10 == '0') {
alert('You must enter at lease one fee value for the schedule program.');
$('#<%=Inputmask_RegFee1.ClientID%>').focus();
return false;
} else {
return true;
}
}
注意:添加了標記單選按鈕列表
<asp:RadioButtonList ID="RadioButtonList_RegFeeMethod" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Value="SCHEDULE">Schedule</asp:ListItem>
<asp:ListItem Value="PROGRAM">Program</asp:ListItem>
<asp:ListItem Value="ZEROFEE">Zero Fee</asp:ListItem>
</asp:RadioButtonList>
您是否注意到警報無法編譯? 'alert(「Fee 1 =」)+ regfee1;'在這裏複製它是否是一個錯字? – hardkoded
我沒有得到任何錯誤,我一直使用該代碼來顯示var值。 –
該警報應該是'alert(「Fee 1 =」+ regfee1);' – hardkoded