0
私はASP.NETを初めて使い、ascxユーザーコントロールにフォームタグを持っています。私はこのフォームが 'aspnetForm'というフォームの中にネストされていることを知ったので、javascriptからフォームを送信できません。私がちょうどcgiへの投稿をしたいのであれば、これをどのように達成できますか?ASP.NET POSTの問題
私はASP.NETを初めて使い、ascxユーザーコントロールにフォームタグを持っています。私はこのフォームが 'aspnetForm'というフォームの中にネストされていることを知ったので、javascriptからフォームを送信できません。私がちょうどcgiへの投稿をしたいのであれば、これをどのように達成できますか?ASP.NET POSTの問題
<form runat='server'>
を削除する必要がない場合は、<form action="page.cgi" method="post">
というフォームを使用してください。いくつかのサーバーコントロールを使用することはできません。代わりにそれらのHTML同等物を使用してください。
ページを制御できない場合は、javascriptを使用していくつかの非表示フィールドを含むページに新しいフォームを挿入し、ボタンをクリックすると値を設定できます。私は、formタグでにrunat = 'サーバー' 属性を持っていない
var myForm = document.createElement("form");
myForm.attributes["action"] = "mycgi.cgi";
myForm.attributes["method"] = "POST";
var myhiddenfield = document.createElement("input");
myhiddenfield.attributes["type"] = "hidden";
myhiddenfield.attributes["name"] = "name"
document.body.appendChild(myForm);
myForm.appendChild(myhiddenfield);
function onFormButtonClick() { // set as onclick on a <button>
myhiddenfield.value = ... //value read from a textbox or something.
...
myForm.submit();
}
:このような
何か。これは単に.ascxページ内にあり、webpartによって読み込まれるコントロールであるため、aspnetFormをその周りにラップするため、送信できません。 –
ああ、実際のページをコントロールしていないからです。 javascriptを使用してページにフォームを挿入し、代わりに送信することができます。 –
どうすればいいですか?フォームは常にaspnetFormフォームの中にネストされているようです。 –