使用Javascript修改OnClick中的代码

时间:2011-03-29 19:52:49

标签: javascript javascript-events

我打电话给之前已创建过的onclick。 该按钮已经有一个onclick,但我需要在提交之前再添加一个参数。

这是按钮上的查看源代码

<td valign='top' align='right' >
  <button name="Complete"  title="Complete"
   onClick="document.forms.Maker.action='http://mysite.com:8080/internal/Step.jsp?theId=19032&target=step20&type=Full';
   document.forms.Maker.submit();return false;">Complete</button>
</td>

这是修改我在用户按下按钮后添加确认,我也添加了它,以便显示onclick当前的内容:

function addEventConfirmation(element, type){ 
  var old = element['on' + type] || function() {};
  element['on' + type] = function () { 

  if (confirm("Are you sure?")){
    old.call(this);  
    alert(old);
    } else { return false; }
  };
}

这是前一段代码中的提示

function onclick()
{
document.forms.Maker.action='http://mysite.com:8080/internal/Step.jsp?theId=19032&
target=step20&type=Full';document.forms.Maker.submit();return false;
}

结果应显示如下内容:

function onclick()
{
document.forms.Maker.action='http://mysite.com:8080/internal/Step.jsp?theId=19032&
target=step20&type=Full&newParam=true';document.forms.Maker.submit();return false;
}

2 个答案:

答案 0 :(得分:0)

试试这个:将动作值变为变量。

var oldURI = "http://mysite.com:8080..."
var href = "oldURI" + "&newParam=true"

document.forms.Maker.action='href'

答案 1 :(得分:0)

如果此Html 您自己的代码,请执行以下操作:

document.getElementById('Complete').onclick = function()
{
    document.forms.Maker.action=
          'http://mysite.com:8080/internal/Step.jsp?theId=19032&
           target=step20&type=Full&newParam=true';
    document.forms.Maker.submit();
    return false;
}

否则,如果您尝试从其他网站更改此事件处理程序,请执行以下操作: 将网站放在名为“myframe”的iframe中,代码如下:

document.getElementById('Complete').onclick = function()
{
    document.forms.Maker.action=
          'http://mysite.com:8080/internal/Step.jsp?theId=19032&
           target=step20&type=Full&newParam=true';
    document.forms.Maker.submit();
    return false;
}

但请记得关闭浏览器的跨域数据源访问限制!!!

例如在ie中: 互联网选项 - &gt;安全 - &gt;自定义设置(Internet区域) - &gt;

跨域启用Access数据源