Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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
将用户HTML输入作为javascript函数参数传递_Javascript_Html_Function_Arguments_Substitution - Fatal编程技术网

将用户HTML输入作为javascript函数参数传递

将用户HTML输入作为javascript函数参数传递,javascript,html,function,arguments,substitution,Javascript,Html,Function,Arguments,Substitution,我有一行javascript: stave.addClef("treble").addTimeSignature("4/4"); 根据用户在HTML文档中输入的内容,我想将“4/4”更改为“3/4”,或者用户提供的任何其他分数。做这个条件代换最简单的方法是什么 谢谢, Nakul创建一个包含可能分数的下拉列表。 将其值查询到变量中。 将变量作为addTimeSignature()方法的参数传递 HTML: <select id="TimeSignatureSelect">

我有一行javascript:

stave.addClef("treble").addTimeSignature("4/4");
根据用户在HTML文档中输入的内容,我想将“4/4”更改为“3/4”,或者用户提供的任何其他分数。做这个条件代换最简单的方法是什么

谢谢,
Nakul

创建一个包含可能分数的下拉列表。 将其值查询到变量中。 将变量作为
addTimeSignature()
方法的参数传递

HTML:

<select id="TimeSignatureSelect">
    <option value='1/4'>1/4</option>
    <option value='2/4'>2/4</option>
    <option value='3/4'>3/4</option>
    <option value='4/4'>4/4</option>
</select>
const timeSig = document.getElementByID('TimeSignatureSelect').value;
stave.addClef("treble").addTimeSignature(timeSig);

这是一个允许用户上下切换数字输入的选项:

<input type="number" id="fraction-1"/>
<input type="number" id="fraction-2"/>

Current Signature:
<div id="current-sig"></div>

什么情况?您应该提供更多的代码来显示您尝试过的内容。在什么条件下“4/4”应更改为“3/4”?用户是如何导致“更改”的?你说的“最简单”是什么意思?您尝试过什么吗?没有
文档。getElementByID
。此外,OP含糊地提到可以更改时间签名。此答案无法解释更改选择选项如何更改值。谢谢!非常有用。

// Get the select form element
const FRACT_1 = 'fract-1'
const FRACT_2 = 'fract-2'
const fract1 = document.querySelector(`#${FRACT_1}`)
const fract2 = document.querySelector(`#${FRACT_2}`)
const currentSigDiv = document.querySelector('#current-sig')

let currentSignature = '4/4'

const changeSignatureByFraction = ({target}) => {
    if(target.id === FRACT_1)) {
        currentSignature = `${target.value}${currentSignature.substring(1)}`
        stave.addClef("treble").addTimeSignature(currentSignature)
        currentSigDiv.innerHTML = currentSignature
    } else {
        currentSignature = `${currentSignature.slice(0, -1)}${target.value}`
        stave.addClef("treble").addTimeSignature(currentSignature)
        currentSigDiv.innerHTML = currentSignature
    }

}

// Listen for a change event
fract1.addEventListener('change', changeSignatureByFraction)
fract2.addEventListener('change', changeSignatureByFraction)

currentSigDiv.innerHTML = currentSignature