我试图将输入字段中的值传递给其他页面。 不幸的是,价值不是检索/不工作,所以希望有人可以帮助我。
page.php文件
<form action="" id="testform" method="post">
<select size="1" class="dropdown">
<?php // dropdown options (pages)
$Args = array ('cat' => 1);
$loop = new WP_Query( $Args );
while($loop->have_posts()) : $loop->the_post(); ?>
<option value="<?php echo get_permalink(); ?>">
<?php the_title(); ?>
</option>
<?php endwhile; ?>
</select>
<input id="year" name="year" type="text" value=""/><!--The value that will be passed to another page -->
<input class="button" name="submit" type="submit" value="ENTER"/>
</form>
提交 - 转到位置(表单操作)
$(".button").click(function(){
var linkadress = $('.dropdown option:selected').val();
window.location = linkadress;
return false;
});
Footer.php
问题:传递值(字段ID =年)
var yearfield = "<?php echo htmlspecialchars($_POST['year']); ?>";
alert(yearfield); // Currently no value is passed
构建于wordpress platform
。表单在所有页面上都可见。在对表单进行求和时,应在新页面(选定的下拉列表位置)上检索'year'
值。其余的代码工作正常。
答案 0 :(得分:1)
您必须获得选择而非选项的值。 (另外最好为select设置ID并使用jquery ID选择器而不是类选择器。)
$(".button").click(function(){
var linkadress = $('.dropdown').val();
window.location = linkadress;
return false;
});
答案 1 :(得分:1)
您是否要根据下拉列表的值更改表单操作, 如果是的话那么;
$("#testform").submit(function(){
var linkadress = $('.dropdown option:selected').val();
$(this).attr('action', linkadress);
});
答案 2 :(得分:1)
您没有提交(发布)表单,而是在单击按钮时重定向。所以PHP永远不会收到$ _POST。
您必须在函数中使用submit()
,或者必须将年变量添加到网址。
$(".button").click(function(){
var linkadress = $('.dropdown').val();
$("#testform").setAttribute('action', 'linkadress');
$("#testform").submit();
//Now you can use $_POST['year'] in linkadress
return false;
});
或
$(".button").click(function(){
var linkadress = $('.dropdown option:selected').val();
var year = $().val('#year');
window.location = linkadress + '?year=' + year;
//Now you can use $_GET['year'] in linkadress
return false;
});