javascript - 如何限制用户应根据下拉响应为文本字段赋值?

标签 javascript php jquery html css

我有 2 个字段.. 一个是下拉选择框。第二个是文本框。在下拉列表中有 2 个值数字和 alpha。如果用户从下拉列表中选择 alpha 值,那么文本框应该只接受 alpha 值。如果用户选择数字,那么文本框应该只接受数字值。 .

这是我的示例代码..

<script>
    function isAlpha()
    {
        $("#Label").keypress(function (e) {
            if (e.which < 97 /* a */ || e.which > 122 /* z */) {
                e.preventDefault();
            }
        });
    }

    function isNumberKey(evt) {
        var charCode = (evt.which) ? evt.which : event.keyCode
        if (charCode > 31 && (charCode < 48 || charCode > 57))
            return false;
        return true;
    }

    function NumAlpha()
    {
        var Alpha_Numeric = document.getElementById('Attribute').value;

        if (Alpha_Numeric == 1)
        {
            isAlpha();
        }
        else
        {
            isNumberKey(evt);

        }
    }

</script>

<select  name="Attribute[]" class="required" id="Attribute" >
    <option selected  value="">Field Attribute</option>
    <option value="1">Alpha</option>
    <option value="2">Numeric</option>
</select>

<input type="text" name="Label[]" class="required" id="Label" onkeypress="return NumAlpha();"   onClick="field_length();" placeholder="Field Label" class="form-control">

在此代码概念中仅适用于 alpha.. 但它不适用于数值.. 请分享一些想法

最佳答案

试一试。

function change(evt){
	var dd=document.getElementById("slt1").value;
	if (dd == "a"){
	return ValidateAlpha(evt);
	}else{
	return isNumberKey(evt);
	}
}
function isNumberKey(evt){  <!--Function to accept only numeric values-->
    //var e = evt || window.event;
	var charCode = (evt.which) ? evt.which : evt.keyCode
    if (charCode != 46 && charCode > 31 
	&& (charCode < 48 || charCode > 57))
        return false;
        return true;
}		   
function ValidateAlpha(evt)
{
	var keyCode = (evt.which) ? evt.which : evt.keyCode
	if ((keyCode < 65 || keyCode > 90) && (keyCode < 97 || keyCode > 123) && keyCode != 32)
	 
	return false;
		return true;
}
<input id="txt1" type="text" onkeypress='return change(event);'></input>

<select onchange="document.getElementById('txt1').value=null;" id="slt1">
<option selected="selected" value="a">Alpha</option>
<option value="b">Numberic</option>
</select>

关于javascript - 如何限制用户应根据下拉响应为文本字段赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40278523/

相关文章:

javascript - ES6 转译仅在开发模块加载器构建中提供,es6-module-loader 错误

php - 使用数组与数组比较时如何选择数据库MySQL?

javascript - CSS3 过渡立即发生?

php - 使用 Laravel 5.4 从 MySql 获取随机元素

javascript - 如何在 JavaScript 数组中将 "\\"替换为 '"'

javascript - Getting TypeError : 'caller' , 'callee' 和 'arguments' properties may not be accessed on strict mode

javascript - 如何在 HTML5 Canvas 中调整图像的色调、饱和度和亮度?

javascript - ASP.NET:为 https 发布网站

javascript - 如何在 Office JavaScript API 中获取当前的 Excel 文件?

php - 内连接太慢。怎么才能更快