3

我有一个文本框类型的控件,我已经向它添加了属性InputType

并制作了javascript文件来验证来自文本框的输入文本

这里是文本的代码

<tc1:AppTextBox ID="txtAccNo" runat="server" InputType="Integer" IsPrimary="true"
IsDatabaseField="true" AllowNull="true">
</tc1:AppTextBox>

这里是我的 javascript 代码

function DoControlBlure(obj) {
var numVal = obj.value * 1;   //To Convert String Value of obj.value to numeric Value
var bRes = true;
if (obj) {
if (obj.type == "text") {
if (obj.InputType.toUpperCase() == "INTEGER" || obj.InputType.toUpperCase() ==DOUBLE") {
alert('obj.InputType');}}}}

在 IE 中返回我所做的实际输入类型,但在任​​何其他浏览器中它会提醒 undefind 它在 IE 中工作正常,但在 google chrome 或 firefox 中它根本不起作用

4

1 回答 1

0

您应该使用getAttribute跨浏览器安全的方式获取 DOM 元素的非标准属性:

<input id="test" InputType="test" />

<script>
  window.onload = function(){
    var input = document.getElementById('test');
    alert(input.InputType); /// will work in IE, fail in others
    alert(input.inputtype); /// will fail in all I think?
    alert(input.getAttribute('InputType')); /// will work in all
    alert(input.getAttribute('inputtype')); /// should work in all
  }
</script>
于 2012-11-27T13:21:03.843 回答