0

I need to know how can I deactivate two buttons until the submit button is clicked.. I am using a Javascript code which deactivate the another two but not work.

Here is my form:

<form name="receta" id="receta" method="post">
    <div class="row-fluid grid">
        <div class="span4">
            <label><b>Lugar: </b></label>
            <input type="text" class="input-block-level" value="" name="lugar" />
        </div>
        <div class="span4">
            <label><b>Nombre : </b></label>
            <input type="text" class="input-block-level" value="" name="nombre" />
        </div>
        <div class="span4">
            <label><b>Edad : </b></label>
            <input type="text" class="span4" value="" name="edad" />
        </div>
    </div>
    <div class="row-fluid grid">
        <div class="span4">
            <b>Pr&oacute;xima cita : </b>
            Ejemplo: En 5 semanas &oacute; 30 d&iacute;as.....
                <input class="input-block-level" name="receta" maxlength="50" value="" />      
        </div>
    </div>
<div class="row-fluid grid">
        <div class="span4">
    <button class="btn btn-inverse" type="submit" name="enviar" id="boton1" onclick="boton(this)">
         <i class="icon icon-save icon-white"></i> 
        <?php echo $translate->__('Save Prescription'); ?>
    </button>
</div>
<div class="span4">
    <a class="btn btn-primary" href="receta_edit.php" type="button" id="boton2" onclick="boton(this)" >
        <i class="icon icon-edit icon-white"></i> 
        <?php echo $translate->__('Edit Previous Prescription'); ?>
    </a>
</div>
<div class="span4">
    <a class="btn btn-info" href="imprecetahoy.php" type="button" id="boton2" target="popup" onClick="window.open(this.href, this.target, 'scrollbars=yes,toolbar=no,menubar=no,status=no,width=parent,height=parent'); return false;" onclick="boton(this)">
    <i class=" icon-print icon-white"></i>
    <?php echo $translate->__('View/Print last Prescription'); ?>
    </a>
</div>
</div>
</form> 

and this is the Javascript I try to use:

<script>
    function boton (obj)
    {
        if(obj.value=='boton 1')
        { document.getElementById('boton1').disabled="false";
        }
        if(obj.value=='boton 2')
        { document.getElementById('boton2').disabled="true";
        }
    }
</script>

here is the script in jsfiddle :

http://jsfiddle.net/HDx8E/

4

2 回答 2

0

我对你的问题有点困惑。您的脚本仅执行以下操作:

  • 如果boton1被点击,禁用它。
  • 如果boton2单击,则启用它。

换句话说,当您单击提交按钮时,您将禁用提交按钮。据我了解,这与您的意图无关。

对不起; 我不懂西班牙语。但是,您似乎想要的是禁用以下两个元素,直到您submit被单击(即boton1)。

<a class="btn btn-primary" href="receta_edit.php"  id="boton2" onclick="boton(this)" >

<a class="btn btn-info" href="imprecetahoy.php" target="popup" 
    onClick="window.open(this.href, this.target, 'scrollbars=yes,toolbar=no,
    menubar=no,status=no,width=parent,height=parent'); return false;"  
    id="boton2" onclick="boton(this)">

这里的问题是这两个链接都有相同的 id ( boton2)。您应该将它们重命名为唯一的,最好是更有意义的名称,例如receta_edit_linkand imprecetahoy_link

然后,您可以在页面加载时禁用这两者,并且仅在单击提交按钮时启用它们,如下所示:

<script>
    function boton(obj) {
        if(obj.value == 'boton1') {
            document.getElementById('receta_edit_link').disabled='true';
            document.getElementById('imprecetahoy_link').disabled='true';
        }
    }
</script>
于 2013-08-14T20:20:38.117 回答
0

我终于找到了一些适合我的代码。这里的代码:

<div class="span4">
        <button class="positive btn btn-inverse" type="submit" id="enviar" name="enviar" onclick="document.getElementById('edit').disabled=false;document.getElementById('imp').disabled=false;button(this);">
            <i class="icon icon-save icon-white"></i> 
            <?php echo $translate->__('Save Prescription'); ?>
        </button>
    </div>
    <div class="span4">
        <button class="negative btn btn-primary"  onclick="location.href='receta_edit.php" id="edit" disabled >
            <i class="icon icon-edit icon-white"></i> 
            <?php echo $translate->__('Edit Previous Prescription'); ?>
        </button>
    </div>
    <div class="span4">
        <button class="negative btn btn-info" onClick="myPopup()" id="imp" disabled >
            <i class=" icon-print icon-white"></i>
            <?php echo $translate->__('View/Print last Prescription'); ?>
        </button>
    </div>
</div>

现在使用此代码,按钮(编辑和打印)被激活,直到单击保存按钮,保存按钮将数据保存在表单中,其他两个按钮显示已保存的数据,唯一的错误是:

ReferenceError: button is not defined

并且错误是单击属性onclick中的保存按钮时:onclick="document.getElementById('edit').disabled=false;document.getElementById('imp').disabled=false;button(this);"

这部分是“未定义” button(this);,现在我不知道如何修复它......

最后,我想在单击时禁用保存按钮...但我不知道该怎么做...

无论如何,如果此代码对您有所帮助,请做我的猜测。

对不起我糟糕的英语,但像往常一样,我说这不是我的母语,我尽力用英语解释我

亲切的问候!

安德烈斯

于 2013-08-22T23:17:34.197 回答