1
4

4 に答える 4

2

Only form elements (select, input, textarea) are submitted to server. And value is not a valid attribute of a tag. If the only thing you need is to get value of clicked link - you can use href:

<li><a id="target" name="target" href="?target=A">A</a></li>
<li><a id="target" name="target" href="?target=B">B</a></li>
<li><a id="target" name="target" href="?target=C">C</a></li>

And than on server:

Request["target"]

Otherwise - you need to do onclick handler for a and there take a value of clicked a, put it into some hidden field and than call document.myform.submit();

于 2012-10-04T07:45:51.343 に答える
1

まず第一に、同じIDを持つ複数の要素を持つことは無効なHTMLです-そうしないでください。同じことnameは有効なので、それを維持します。

次に、JavaScriptを使用して非表示のフォーム入力を入力し、フォームを自動送信する必要があります。非表示の入力を追加します。

<input type="hidden" name="target" />

次に、そのようなコードを持っています:

window.onload = function() {
    var anchors = document.getElementsByTagName("a");
    var oForm = document.forms["myform"];
    var oHiddenInput = oForm.elements["target"];
    for (var i = 0; i < anchors.length; i++) {
        if (anchors[i].name === "target") {
            anchors[i].onclick = function() {
                oHiddenInput.value = this.value;
                oForm.submit();
                return false;
            };
        }
    }
};
于 2012-10-04T07:43:46.410 に答える
0

また、これを試してください:

<ul>
  <form name="myform" id="myform" method="post">
    <input type="hidden" name="target"  id="target" value="">
    <li><a class="target" id="t1" name="target" rel='A' href="#">A</a></li>
    <li><a class="target" id="t2" name="target" rel='B' href="#">B</a></li>
    <li><a class="target" id="t3" name="target" rel='C' href="#">C</a></li>
  </form>
</ul>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="application/javascript">
   $(document).ready(function(){
       $('.target').click(function(){
           $('#target').val($(this).attr('rel'));
           $('#myform').submit();

        });
     });
</script>
于 2012-10-04T07:57:14.790 に答える
0

ありがとうございます、

私はいくつかのソリューションからミックスを行いました:

HTML

<form name="myform" method="post">
  <li><a href="#" onclick="submit('A');">A</a></li>
  <li><a href="#" onclick="submit('B');">B</a></li>
  <li><a href="#" onclick="submit('C');">C</a></li>
  <input name="target" type="hidden" value=""/>
</form>

JS

<script type="text/javascript" language="javascript">
    function submit(target) {
        document.forms['myform'].elements['target'].value = target;
        document.myform.submit();
    }
</script>
于 2012-10-04T08:06:15.280 に答える