2014-03-26 32 views
1

我試圖讓jQuery根據訂單表單上的輸入字段更新字段。我使用jQuery的val()來設置值,但是當我嘗試使用Laravel 4的Validator ::驗證訂單形式時,它說該字段爲空。當我檢查該字段時,我發現儘管在輸入字段中輸入了正確的數字,但仍然沒有實際分配給該字段的值。我如何使用jQuery的val()來設置Laravel 4的Validator ::能夠看到並識別爲合法輸入的值?如果有人可以解釋我出錯的地方,或告訴我如何正確地做到這一點,將非常感謝!非常感謝!jQuery val()在輸入字段中輸入正確的數字,但標籤仍然沒有顯示任何值

下面是相關JQ剪斷,當頁面加載NUM = 1,因爲總是會有至少1頁:

var num = 1; 
$('#number_of_pages').val(num); 

這裏是片段的最後一位更新的頁面數如果用戶點擊該按鈕AddPage:

/*Update number of pages*/ 
var updated_number_of_pages = $('.inputPage').length; 
$('#number_of_pages').val(updated_number_of_pages); 

而當他們點擊按鈕,刪除頁面爲:

/*Updated Number of pages*/ 
var updated_number = $('.inputPage').length; 
$('#number_of_pages').val(updated_pages); 

這裏是查看:

{{ Form::text('number_of_pages', null, array('id' => 'number_of_pages')) }} 
    @if($errors->has('number_of_pages')) 
     {{ $errors->first('number_of_pages') }} 
    @endif 

和控制器的相關部分:

$validator = Validator::make(Input::all(), 
       array(
       'order_name'  => 'required', 
       'phone'   => 'required|min:10|numeric', 
       'email'   => 'required', 
       'st_address'  => 'required', 
       'post_date'  => 'required', 
       'number_of_pages' => 'required', 
       )    
); 

回答

1

雖然我有點困惑的問題,但你可以使用attr設置的屬性來源:

$('#number_of_pages').attr('value', updated_number_of_pages); 

所以,你可以看到在源,val()將存儲器屬性的變化。

更新:

另外,還要確保您的形式使用Form::open()打開,text字段的形式裏面,像這樣:

{{ Form::open(...) }} 
    {{ Form::input('number_of_pages') }} 
    {{-- Rest of the code --}} 
{{ Form::close() }} 
+0

對不起,明確當我使用VAL()或attr()來設置輸入字段的值,字段本身顯示正確的數字,但是當我檢查元素時,或者如果我提交訂單表單,檢查器和驗證器都不顯示歸因於輸入字段的值。所以問題是,即使它顯示正確的輸入,我也無法提交我的表單,因爲它沒有通過我創建的驗證規則。 – mario

+1

當您提交表單時,嘗試使用'dd(Input :: all())'檢查輸入,並確保該字段可用且具有值,請嘗試使用'attr'和'val'。 –

+0

啊,好的,它不在dd(Input :: all())中。然後我回去並使用了兩個 $('#number_of_pages')。attr('value',updated_number_of_pages); 和 \t'$('#number_of_pages').val(updated_number_of_pages);' 並再次運行dd(Input :: all()),並且輸入number_of_pages仍然不存在。 – mario

相關問題