我有一个歌曲列表,这些歌曲是从具有添加新歌曲的表单的页面上的数据库中提取的。添加和删除功能都可以正常工作。当我点击现有的歌曲时,它会填充表格以便进行编辑。数据正在正确发送到字段。但是,提交表单时,它会重新加载页面,但没有任何更改。这是当前的javascript:
$('.song-link').click(function(){
// Fetching data
var title = $(this).data('title');
var band = $(this).data('band');
var category = $(this).data('category');
// Assigning data
$('#title').val(title);
$('#band').val(band);
$('#category').val(category);
});
如何让它实际提交数据?我在检查器中查看了它,并且代码中的值似乎没有变化,但它在视觉上是可行的。
我应该采取另一种方式吗?
修改
<form name="form1" method="post" action="" enctype="multipart/form-data">
<p><?php _e("Song Title:", 'menu-test' ); ?> <input type="text" name="title" id="title" value="" size="20"></p>
<p><?php _e("Band/Artist Name:", 'menu-test' ); ?> <input type="text" name="band" id="band" value="" size="20"></p>
<p>
<select name="category" id="category">
<option value="Current and “All Time” Dance Hits">Current and “All Time” Dance Hits</option>
<option value="R & B, Motown, Disco">R & B, Motown, Disco</option>
<option value="80’s, 90’s, Rock">80’s, 90’s, Rock</option>
<option value="Ballads">Ballads</option>
<option value="Cocktail / Dinner Hour">Cocktail / Dinner Hour</option>
<option value="Latin / Swing">Latin / Swing</option>
<option value="Specialty">Specialty</option>
</select>
</p>
<p><?php _e("File:", 'menu-test' ); ?> <input type="file" name="file" /></p>
<hr />
<input type="hidden" name="id" id="id" value="1" />
<p class="submit"><input type="submit" name="Submit" class="button-primary" value="<?php esc_attr_e('Save Changes') ?>" /></p>
</form>
它位于一个worpdress网站中,所以我通过以下方式访问数据库:
$title = $_POST['title'];
$song_check = $wpdb->get_results("SELECT * FROM song_list WHERE title = '".$title."'");
if(!$song_check){
$wpdb->insert('song_list',array(
'title' => $_POST['title'],
'band' => $_POST['band'],
'category' => $_POST['category'],
'file' => $movefile['url']
));
}else{
$wpdb->update('song_list',array(
'title' => $_POST['title'],
'band' => $_POST['band'],
'category' => $_POST['category'],
),
array(
'ID' => $_POST['id']
));
}
答案 0 :(得分:1)
您应该阻止anchor
的默认行为:
$('.song-link').click(function(e){
e.preventDefault()
// Fetching data
var title = $(this).data('title');
var band = $(this).data('band');
var category = $(this).data('category');
// Assigning data
$('#title').val(title);
$('#band').val(band);
$('#category').val(category);
});