开发者

Using action in Javascript to submit form

I'm trying to submit a form using javascript. This is the code I've used to set the action to the form and then submit it. These 2 lines are in the onclick method defined for a button.

document.form1.action = fin_string;
document.forms["form1"].submit();

The problem here is that the fin_string gets replaced by something else when I do this. For eg. when fin_string = "http://www.gmail.com" this works, however when I keep fin_string as some other string (relative to the current path with attached parameters) it gets changed. alert(fin_string), shows the string correctly but when I use the string to set the action on the form and submit it, it gets changed.

This is what I want the fin_string to be (relative to the current path)

rem开发者_JS百科ote-service/FeedMergerManualTrigger?locales=en_GB-en_SG&deleteOutputFile=Y&localFilePath=c:/go/

but this is what the browser goes to when I assign it an action and submit the form.

remote-service/FeedMergerManualTrigger?LMN=UK&ZJ=SG&localResourcesMode=on&EUPath=c:/go/&delete_op=Y.

Any idea what's going on?


Have such code instead, it will assign hidden form elements instead of adding to the query string thus it won't get changed:

var fin_string = "remote-service/FeedMergerManualTrigger";
var arrData = {"locales": "en_GB-en_SG", "deleteOutputFile": "Y", "localFilePath": "c:/go/"};
var oForm = document.forms["form1"];
oForm.action = fin_string;
for (var key in arrData)
    AddOrUpdate(oForm, key, arrData[key]);
//encodeURIComponent(arrData[key])
oForm.submit();

function AddOrUpdate(oForm, sName, sValue) {
    var oInput = oForm.elements[sName];
    if (!oInput) {
        oInput = document.createElement("input");
        oInput.type = "hidden";
        oInput.name = sName;
        oForm.appendChild(oInput);
    }
    oInput.value = sValue;
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜