Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript函数,用于根据另一个字段中的用户输入填充字段_Javascript_Function - Fatal编程技术网

Javascript函数,用于根据另一个字段中的用户输入填充字段

Javascript函数,用于根据另一个字段中的用户输入填充字段,javascript,function,Javascript,Function,这涉及HTML形式的javascript。我遇到的问题是基于另一个字段的用户输入以相同的形式填充一个字段。当用户输入字母等级(a、B或C)时,我试图根据字母等级(a&B=100,C=75)将百分比字段更新为100或75。下面是我到目前为止尝试过的,它似乎不能正常工作 function PercentResult(grade) { if (grade.equalsIgnoreCase("A")) { return 100; } if (grade.equalsIgnoreC

这涉及HTML形式的javascript。我遇到的问题是基于另一个字段的用户输入以相同的形式填充一个字段。当用户输入字母等级(a、B或C)时,我试图根据字母等级(a&B=100,C=75)将百分比字段更新为100或75。下面是我到目前为止尝试过的,它似乎不能正常工作

function PercentResult(grade)
{
  if (grade.equalsIgnoreCase("A"))
  {
    return 100;
  }
  if (grade.equalsIgnoreCase("B"))
    return 100;
  if (grade.equalsIgnoreCase("C"))
    return 75;
  return 0;
}
Javascript中没有“equalsIgnoreCase”;您可能会被来自完全不同的Java语言的某些内容所迷惑

我只需要使用查找:

function percentResult(grade) {
  var grds = { 'A': 100, 'B': 100, 'C': 75 };
  return grds[grade.toUpperCase()];
}
(有一些方法可以定义更高效的查找,但这只是一个示例。)


编辑-谷歌搜索我确实找到了几个为Javascript执行“equalsIgnoreCase”的示例实现,但它们大多是围绕大小写值比较的简单包装。在这种情况下,根本不需要它。

最简单的方法是使用一个受约束的集合——组合框到输入框

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Grades</title>
</head>
<body>
    <form>
        <table>
            <tr>
                <td>Combo Box</td>
                <td>
                    <select id="combo1" name="combo1" onchange="input1.value = combo1.value">
                        <option value="100">A</option>
                        <option value="75">B</option>
                        <option value="50">C</option>
                        <option value="25">D</option>
                        <option value="0"">E</option>
                    </select>
                </td>
            </tr>
            <tr>
                <td>Input Box</td>
                <td>
                    <input type="text" name="input1" id="input1"/>
                </td>
            </tr>
        </table>
    </form>
</body>
</html>

分数
组合框
A.
B
C
D
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Grades</title>
<script type="text/javascript">
    function eventHandler() {
        var target = document.getElementById('input1');
        var value = document.getElementById('input2').value;
        value = value.trim().toUpperCase();
        if( value == "A" ) {
            target.value = "100%";          
        }
        else if( value == "A" ) {
            target.value = "100%";          
        }
        else if( value == "B" ) {
            target.value = "75%";           
        }
        else if( value == "C" ) {
            target.value = "50%";           
        }
        else if( value == "D" ) {
            target.value = "25%";           
        }
        else if( value == "E" ) {
            target.value = "0%";            
        }
    }
</script>
</head>
<body>
<form>
<table>
    <tr>
        <td>Combo Box</td>
        <td><input type="text" name="input2" id="input2"
            onblur="eventHandler()" onchange="eventHandler" value="A" /></td>
    </tr>
    <tr>
        <td>Input Box</td>
        <td><input type="text" name="input1" id="input1" /></td>
    </tr>
</table>
</form>
</body>
</html>