【问题标题】:the value parameter is not being passed using jquery?没有使用 jquery 传递 value 参数?
【发布时间】:2011-04-13 14:56:19
【问题描述】:
<textarea name="inputField" id="inputField" tabindex="1" rows="2" cols="40"onblur="DoBlur(this);" onfocus="DoFocus(this);" ></textarea>
<input class="submitButton inact" name="submit" type="submit" value="update" disabled="disabled" />
<input name="status_id" type="hidden">

javascript(jquery):

function insertParamIntoField(anchor, param, field) {
       var query = anchor.search.substring(1, anchor.search.length).split('&');

       for(var i = 0, kv; i < query.length; i++) {
          kv = query[i].split('=', 2);
          if (kv[0] == param) {
             field.value = kv[1];
             return;
          }
       }
    }


$(function () {
    $("a.reply").click(function (e) {
       console.log("clicked");
       insertParamIntoField(this,"status_id",$("#status_id"));
       insertParamIntoField(this, "replyto", $("#inputField")[0]);


     $("#inputField").focus()

$("#inputField").val($("#inputField").val() + ' ');


     e.preventDefault();
       return false; // prevent default action
    });
});

status_id 参数没有被传递:

post.php?reply_to=@muna&status_id=345667

它总是给出零值,而它的意思是给出 345667

【问题讨论】:

  • 您是否尝试过使用带有 Firebug、Opera 或 Chrome 的 Firefox 等调试器调试 javascript?
  • 我以前从未使用过firebug,它有什么作用?对不起,这里有点新手
  • 使用 Firebug,您可以“调试”代码。停在你想要的地方,检查设置了什么值等等。
  • firebug 根本没有帮助

标签: javascript jquery html parameter-passing


【解决方案1】:

你有两个问题,第一个@Guffa提到,你需要一个$("#status_id")的ID才能工作,像这样:

<input id="status_id" name="status_id" type="hidden">

另一个在这里:

insertParamIntoField(this,"status_id",$("#status_id"));
insertParamIntoField(this, "replyto", $("#inputField")[0]);

注意你没有[0],所以你在jQuery对象上设置.value,而不是元素本身。相反,你需要这个:

insertParamIntoField(this,"status_id",$("#status_id")[0]);
insertParamIntoField(this, "replyto", $("#inputField")[0]);

或者改变你的方法使用.val(),像这样:

field.val(kv[1]);

并去掉[0] 调用,这样它们就可以了

insertParamIntoField(this,"status_id",$("#status_id"));
insertParamIntoField(this, "replyto", $("#inputField"));

【讨论】:

    【解决方案2】:

    为输入添加值

    <input name="status_id" id="status_id" value="345667" type="hidden">
    

    【讨论】:

      【解决方案3】:

      您在该字段上没有任何id,因此当您尝试使用$('#status_id') 设置值时,它不会将值放在任何地方。

      将 id 添加到字段中:

      <input name="status_id" id="status_id" type="hidden">
      

      【讨论】:

        猜你喜欢
        • 2012-10-12
        • 1970-01-01
        • 2016-12-07
        • 2012-05-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-18
        相关资源
        最近更新 更多