Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Meteor在页面加载时更改表单值_Javascript_Jquery_Meteor - Fatal编程技术网

Javascript Meteor在页面加载时更改表单值

Javascript Meteor在页面加载时更改表单值,javascript,jquery,meteor,Javascript,Jquery,Meteor,我试图在加载页面时只更改一些输入字段的值一次。例如,提交日期和年份应该是当前年份,所以现在是2017年 我的HTML <template name="trip_html"> <table class="table table-striped table-condensed table-hover rsk-tbl vScrollTHead"> <tr> <td><input class="form-control input-lg

我试图在加载页面时只更改一些输入字段的值一次。例如,提交日期和年份应该是当前年份,所以现在是2017年

我的HTML

<template name="trip_html">

<table class="table table-striped table-condensed table-hover rsk-tbl vScrollTHead">
<tr>
      <td><input class="form-control input-lg" name="submit_date_day" type="text" placeholder="Day"/>  </td>
       <td><input class="form-control input-lg" name="submit_date_month" type="text" placeholder="Month"/>  </td>
        <td><input class="form-control input-lg" name="submit_date_year" type="text" placeholder="Year"/>  </td>
    </tr>
    </table>
</template>
但是,由于某些原因,我无法在该加载函数中使用event.target.submit\u date\u year。。。 但一旦我点击“提交”按钮,它就可以在事件中工作

Template.trip_html.events({
"submit .add-trip": function(event){
event.preventDefault();
var day = event.target.submit_date_day.value;
var month = event.target.submit_date_month.value;


var year = event.target.submit_date_year.value;

var car = event.target.submit_car.value;
var b = event.target.submit_b.value;
var a = event.target.submit_a.value;
var dist = event.target.submit_dist.value;

if(empty(day) || empty(month) || empty(year) || empty(car) || empty(b) || empty(a) || empty(dist)){
return false;
}

if(!isNumeric(day) || !isNumeric(month) || !isNumeric(year) || !isNumeric(dist)){
    return false;
}

if(day.startsWith("0"))
day = day.replace("0", "");

if(month.startsWith("0"))
month = month.replace("0", "");

if(year.startsWith("0"))
year = year.replace("0", "");

console.log(day, month, year, car, a, b, dist);
Meteor.call('addTrip', day, month, year, car, a, b, dist);

event.target.submit_a.value = event.target.submit_b.value;
event.target.submit_b.value = '';
event.target.submit_dist.value = '';


},

救命啊

它不起作用,因为您正在onRendered回调中传递事件参数。因此,您不能通过
event.target
选择DOM元素

尝试在标记中为元素指定一个特定的类,并替换行
event.target.submit\u date\u year.value='test';/不起作用
比如:

$('.year-input').val() = 'test';
html行:

<td><input class="form-control input-lg year-input" name="submit_date_year" type="text" placeholder="Year"/></td>

现在可以从呈现回调中删除“event”参数。
希望我能帮忙。

它不起作用的原因是您没有正确使用
onRendered
函数。您还试图使用一个不存在的事件对象访问输入,因为没有事件

尝试:

编辑

如果不需要数据是动态的,也可以使用HTML来实现这一点

<input class="form-control input-lg" name="submit_date_year" type="text" placeholder="Year" value="2017"/>


jquery代码不起作用,结果给了我一个意外的错误标记。我甚至尝试了以下jquery,这给了我相同的错误:var year=$(“.year input”,“.add trip”).value=“test2”;尝试使用这个
document.getElementsByClassName('year-input')而不是jquery行。您还可以将其放入变量中,并将其输出到控制台以进行调试。例如:
let el=document.getElementsByClassName('year-input')然后
console.log(el)如果您选择了元素,它应该会以某种方式工作。使用var val=document.getElementsByClassName('year-input');控制台日志(val);我确实找到了我的元素,但是val.value=“TEST”;不执行任何操作,ClassName('year-input')也不执行任何操作。value=“TEST”;该死的BlazeJS(MeteorJS)我不知道这是否有帮助,但我认识到我调用函数的方式不同:
Template.myTemplateName.onRendered(function(){//myfunction;})给定第二行中的错误:(.client/main.js:73:2:赋值表达式的左侧无效(73:2),注释为:$('input[name=“submit_date_year”]”)。val()='2017'删除错误。@AleksD很抱歉我太笨了,在代码中犯了一个错误。现在检查一下,然后再试一次。非常抱歉,但是..仍然不起作用..如果我添加console.log(“加载”)在该函数中,我确实得到了输出,但是..值仍然是空的,很遗憾:|好的,让我们通过尝试将所有输入锁定一秒钟来测试一下。将jQuery更改为:
$(“input”).val(“test”);
。如果它起作用,您应该在所有inputs@AleksD顺便说一句,您也可以使用HTML来实现这一点
Template.trip_html.onRendered(function () {
  $('input[name="submit_date_year"]').val('2017');
});
<input class="form-control input-lg" name="submit_date_year" type="text" placeholder="Year" value="2017"/>