2013-10-17 31 views
2

我有一個簡單的幾個文本框的形式。我想捕獲文本框的輸入,稍微修改它,然後將其附加到表單操作URL。使用jquery追加表單字段的值來形成操作?

$('.myBox').on('change', function (event) { 
     var myVal = $(this).val(); 
     $('form').attr('action').appendTo("&MyVal="+myVal); 
    }); 

上述代碼不起作用,因爲沒有對attr值的appendTo。有沒有另外一種方法來完成這個?

+0

爲什麼你想/需要這樣做?什麼是真正的目標? –

回答

5

您的語法並不完全正確,因爲您要更新action屬性的值,而不是append元素的值。試試這個:

$('.myBox').on('change', function (event) { 
    var myVal = $(this).val(); 
    $('form').attr('action', function(i, value) { 
     return value + "&MyVal=" + myVal; 
    }); 
}); 
+1

不會在每次選擇框發生變化時添加get參數,從而在動作url中創建冗餘? (以及最新的參數應該覆蓋第一個) – Stphane

+0

@ f00bar它的確會。如果這是意外的行爲,我會把它留給OP來修復。 –

+0

實際上,無論出於何種原因,該示例並不是「更新」表單操作。你的例子假設嗎? –

2

你可以試試這個:

$("form").attr('action',$("form").attr('action')+ "&MyVal=test"); 
0

我實際上類似的東西走了過來。

  $('.Mybox').on('change', function (event) { 
      var action = $('form').attr('action'); 
      $('form').attr('action',action+"&test"); 
     }); 

但我覺得我更喜歡你的。謝謝