0

私はフロントエンド編集に取り組んでおり、このコード行を取得しました

<span onclick="var input = document.createElement('input'); input.setAttribute('value', this.firstChild.nodeValue); input.setAttribute('name', 'ac'); input.setAttribute('onblur', 'document.getElementById(\'front11\').submit();'); this.parentNode.replaceChild(input, this);">2015104015</span>

これにより、次の行になります

<input value="2014102016" name="ac" onblur="document.getElementById('front11').submit();">

DOM 変更後の完全なフォームは次のようになります。

<form id="front11" action="/index.php" method="post">
<input type="hidden" name="id" value="3394" />
<input value="2014102016" name="ac" onblur="document.getElementById('front11').submit();">
</form>

フォームは正しく送信されていますが、「id」のみが送信され、「ac」は送信されていません。何かご意見は?

4

2 に答える 2

1

を指定する必要があります。type

次のように設定します

<input type="text" value="2014102016" name="ac" onblur="document.getElementById('front11').submit();">
于 2013-11-08T16:01:02.813 に答える
0

物事を分割して、この時点でエラー コンソールが何を示しているかを確認します。

(ところで: setAttribute は完全に壊れているわけではありませんが、誰もが思っていることを実際には実行しません。属性とプロパティは 2 つの異なるものです。そのため、2 つの異なる名前があります。)

警告: すぐに入力されました

<script>
function do_it(el) {
  function submitIt() {
    this.form.submit();
  }

  var input = document.createElement('input');
  input.value = this.firstChild.nodeValue;
  input.name = 'ac';
  input.onblur = submitIt;    
  el.parentNode.replaceChild(input, el);"
}
</script>

<span onclick="do_it(this)">2015104015</span>
于 2013-11-08T22:08:58.917 に答える