混合两个javascript代码

混合两个javascript代码,javascript,Javascript,我拼命地试了好几个小时,想让这两个小脚本正常工作,但都没有成功。如果我像那样使用它们,没有人工作,但如果我只包括一个,那就没有问题。因此,问题不在于代码本身,而在于代码一起使用时的冲突。我尝试了十几个组合,还添加了一些其他语句,但也没有运气 代码1 // 代码2 // 不幸的是,我不是一名编码员……请有人给我一个建议?试试这样的方法: <script type="text/javascript">// <![CDATA[ function on_my_form_load

我拼命地试了好几个小时,想让这两个小脚本正常工作,但都没有成功。如果我像那样使用它们,没有人工作,但如果我只包括一个,那就没有问题。因此,问题不在于代码本身,而在于代码一起使用时的冲突。我尝试了十几个组合,还添加了一些其他语句,但也没有运气


代码1
//

代码2
//

不幸的是,我不是一名编码员……请有人给我一个建议?

试试这样的方法:

<script type="text/javascript">// <![CDATA[
function on_my_form_loaded(event) {
    if (event=='reserve') {
        var mobile_number_param = document.getElementById('mobile_number_param');
        mobile_number_param.value = "[cb:userdata field="cb_myfield" user="#me" /]";
        mobile_number_param.readOnly = true;
        var email = document.getElementById('email');
        email.readOnly = true;
        var first = document.getElementById('first');
        first.readOnly = true;
        var last = document.getElementById('last');
        last.readOnly = true;
    }
    else if (event=='show_cart') {
        document.getElementById('empty_cart_block').style.display='none';
    }
}
// ]]></script>
//

尝试以下方法:

<script type="text/javascript">// <![CDATA[
function on_my_form_loaded(event) {
    if (event=='reserve') {
        var mobile_number_param = document.getElementById('mobile_number_param');
        mobile_number_param.value = "[cb:userdata field="cb_myfield" user="#me" /]";
        mobile_number_param.readOnly = true;
        var email = document.getElementById('email');
        email.readOnly = true;
        var first = document.getElementById('first');
        first.readOnly = true;
        var last = document.getElementById('last');
        last.readOnly = true;
    }
    else if (event=='show_cart') {
        document.getElementById('empty_cart_block').style.display='none';
    }
}
// ]]></script>
//
//
你想要吗?

//

您想要吗?

您可以将它们移动到同一个功能中<代码>在我的表单上加载,然后使用if-else来确定应该执行哪个代码块。比如:

    <script type="text/javascript">// <![CDATA[
function on_my_form_loaded(event) {
    if (event=='show_cart')
    {
        document.getElementById('empty_cart_block').style.display='none';
    }
    else if (event=='reserve')
    {
        var mobile_number_param = document.getElementById('mobile_number_param');
        mobile_number_param.value = "[cb:userdata field="cb_myfield" user="#me" /]";
        mobile_number_param.readOnly = true;
        var email = document.getElementById('email');
        email.readOnly = true;
        var first = document.getElementById('first');
        first.readOnly = true;
        var last = document.getElementById('last');
        last.readOnly = true;
    }
}

// ]]></script>
//

如果事件是
show\u cart
,则将运行第一个代码卡盘。如果事件是反向的,则第二块代码将运行。

您可以将它们移动到同一个函数中<代码>在我的表单上加载,然后使用if-else来确定应该执行哪个代码块。比如:

    <script type="text/javascript">// <![CDATA[
function on_my_form_loaded(event) {
    if (event=='show_cart')
    {
        document.getElementById('empty_cart_block').style.display='none';
    }
    else if (event=='reserve')
    {
        var mobile_number_param = document.getElementById('mobile_number_param');
        mobile_number_param.value = "[cb:userdata field="cb_myfield" user="#me" /]";
        mobile_number_param.readOnly = true;
        var email = document.getElementById('email');
        email.readOnly = true;
        var first = document.getElementById('first');
        first.readOnly = true;
        var last = document.getElementById('last');
        last.readOnly = true;
    }
}

// ]]></script>
//

如果事件是
show\u cart
,则将运行第一个代码卡盘。如果事件为反向,则第二段代码将运行。

有更好的方法来处理此问题,但请尝试使用switch语句:

function on_my_form_loaded(event) {
    switch (event) {
    case "reserve":
        var mobile_number_param = document.getElementById('mobile_number_param');
        mobile_number_param.value = "[cb:userdata field="cb_myfield" user="#me" /]";
        mobile_number_param.readOnly = true;
        var email = document.getElementById('email');
        email.readOnly = true;
        var first = document.getElementById('first');
        first.readOnly = true;
        var last = document.getElementById('last');
        last.readOnly = true;
        break;
    case "show_cart":
        document.getElementById('empty_cart_block').style.display = 'none';
        break;
    }
}

有更好的方法处理此问题,但请尝试使用switch语句:

function on_my_form_loaded(event) {
    switch (event) {
    case "reserve":
        var mobile_number_param = document.getElementById('mobile_number_param');
        mobile_number_param.value = "[cb:userdata field="cb_myfield" user="#me" /]";
        mobile_number_param.readOnly = true;
        var email = document.getElementById('email');
        email.readOnly = true;
        var first = document.getElementById('first');
        first.readOnly = true;
        var last = document.getElementById('last');
        last.readOnly = true;
        break;
    case "show_cart":
        document.getElementById('empty_cart_block').style.display = 'none';
        break;
    }
}

如果没有缩进,如果
if
语句没有括号,很难说是怎么回事……你试过调试它吗?我认为第一个语句写得不正确,应该把
if
行后面的所有内容都用另一组大括号括起来。然后将第二个区块的第3行和第4行移到第一个区块现在的两个闭合大括号之间。被OP以外的人编辑掉了-不知道为什么会有人这样做。@GCATNM:哦,哇,我看到了。用户“Stedy”将其删除。这不酷,我已经把它放回去了。很难说是怎么回事,没有缩进,没有
if
语句的括号……你试过调试它吗?我认为第一个语句写得不正确,应该在
if
行之后用另一组大括号括起来。然后将第二个区块的第3行和第4行移到第一个区块现在的两个闭合大括号之间。被OP以外的人编辑掉了-不知道为什么会有人这样做。@GCATNM:哦,哇,我看到了。用户“Stedy”将其删除。这可不酷,我已经把它放回去了。不管是谁在匿名的情况下否决了迄今为止最好的答案——如果真的有什么问题(我看不出来),给出你这样做的理由有助于改进它,使它比你现在认为的更有用。对于那些在隐姓埋名的情况下否决了迄今为止最好答案的人——如果它确实有什么问题(我看不出来),给出你这样做的理由可以帮助改进它,使它比你现在认为的更有用。工作很好…非常感谢!事实上,我想我试过这个代码,但我无法工作。我可能忘记了一些括号…工作很好…非常感谢!事实上,我想我试过这个代码,但我无法工作。我可能忘记了一些括号。。。