从两个输入中获取当前值时出现问题。在尝试获取当前值时,我一直未定义。从来没有遇到过这个问题,似乎无法得到这个。
<label id="lblName" for="txtVehicleName" class="vehicle_label">Vehicle Name:</label>
<input type="text" runat="server" id="txtVehicleName" name="txtVehicleName" class="vehicle_input_required" maxlength="200" value="" />
<span id="qVName" class="question">?</span>
<div class=".clearfix"></div>
<label id="lblCategorization" for="txtCategorization" class="vehicle_label">Categorization:</label>
<input type="text" runat="server" id="txtCategorization" class="vehicle_input_required" />
<span id="qCat" class="question">?</span>
$(document).ready(function () {
$("#btnNext_VI").on("click", function () {
event.preventDefault ? event.preventDefault() : event.returnValue = false;
var Categorization = $("#txtCategorization").val();
var VehicleName = $("#txtVehicleName").val();
alert(Categorization);
alert(VehicleName);
if (validate("VI")) {
$("#divVI").fadeOut(function () {
$("#divPU").fadeIn(100);
});
}
});
});
关于我做错了什么建议?
答案 0 :(得分:3)
您的文本框是服务器字段,请使用ClientID
属性:
var Categorization = $("#<%= txtCategorization.ClientID %>").val();
如果您检查页面呈现input
,您会注意到该ID不是txtCategorization
- 而是服务器生成的ID。
答案 1 :(得分:1)
您可以设置ClientIDMode="Static"
(ASP.Net 4.0+),以便不会更改控件ID。您也可以在外部js文件中使用它
<input type="text" runat="server" id="txtCategorization" ClientIDMode="Static" />
ASP.Net&lt; 4.0,但是这行不能在外部js文件中使用,因为它使用内联的asp.net语法
$("#<%= txtCategorization.ClientID %>").val()