使SRC脚本等待用户输入Javascript

时间:2018-02-20 19:52:48

标签: javascript variables input

我试图从用户那里获取变量值(帐户),然后将其发送到我的脚本。我使用此代码:

<p><input type="text" id="accountField"=>Enter Number</input>
<button onclick="test()">Submit</button></p>
<script>
    function test(){
        var getAccount = document.getElementById("accountField").value;
        console.log(getAccount);
        return getAccount;
    }
    var account = test();
</script>
<script type="text/javascript" src="test.js"></script>

问题是src脚本在不等待用户输入的情况下运行,因此失败。我已经尝试过defer =&#39; defer&#39;但那并没有让它等待。

我只需要从用户那里获取一个号码并将其作为变量添加到我的脚本中。我能够使用Windows提示符让它工作,但如果可能,我宁愿避免这种情况。

编辑:我试图进行同步调用,而不是异步调用。我从表单中获取一些信息,然后使用该信息拨打电话。除非用户在我的表单中回答问题,否则我不想调用外部脚本。

1 个答案:

答案 0 :(得分:-1)

您可以在读取输入后创建元素,不是吗?

类似的东西:

var account, injected // Create the state variables

function injectScript(src) {
    const script = document.createElement('script')
    script.src = src
    document.getElementsByTagName('head')[0].appendChild(script)
    injected = true
}
function test(){
    const getAccount = document.getElementById("accountField").value

    // Probably want to do this to keep `account` up-to-date when the event handler runs
    account = getAccount
    account && !injected && injectScript('test.js')
}
test()